• P
    linux-user: Fix payload size logic in host_to_target_cmsg() · 309786cf
    Peter Maydell 提交于
    Coverity points out that there's a missing break in the switch in
    host_to_target_cmsg() where we update tgt_len for
    cmsg_level/cmsg_type combinations which require a different length
    for host and target (CID 1385425).  To avoid duplicating the default
    case (target length same as host) in both switches, set that before
    the switch so that only the cases which want to override it need any
    code.
    
    This fixes a bug where we would have used the wrong length
    for SOL_SOCKET/SO_TIMESTAMP messages where the target and
    host have differently sized 'struct timeval' (ie one is 32
    bit and the other is 64 bit).
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: NLaurent Vivier <laurent@vivier.eu>
    Message-Id: <20180518184715.29833-1-peter.maydell@linaro.org>
    Signed-off-by: NLaurent Vivier <laurent@vivier.eu>
    309786cf
syscall.c 396.6 KB