All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
To: Laurent Vivier <laurent@vivier.eu>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Riku Voipio <riku.voipio@iki.fi>
Subject: Re: [Qemu-devel] [patch] linux-user/syscall.c: Fix missing break for host_to_target_cmsg
Date: Fri, 16 Feb 2018 15:12:36 +0530	[thread overview]
Message-ID: <1d5a44052bc4f4933ac520b1bbd9a88b@linux.vnet.ibm.com> (raw)
In-Reply-To: <b6000e1f-ccae-9adc-bbde-5a1f4c715482@vivier.eu>

On 2018-02-15 20:17, Laurent Vivier wrote:
> Le 08/02/2018 à 10:56, Nageswara R Sastry a écrit :
>> On 2018-02-07 19:27, Laurent Vivier wrote:
>>> Le 07/02/2018 à 10:49, no-reply@patchew.org a écrit :
>>>> Hi,
>>>> 
>>>> This series failed build test on s390x host. Please find the details
>>>> below.
>>> ...
>>>>   CC      aarch64_be-linux-user/linux-user/syscall.o
>>>> In file included from
>>>> /var/tmp/patchew-tester-tmp-ewjgn083/src/linux-user/qemu.h:16:0,
>>>>                  from
>>>> /var/tmp/patchew-tester-tmp-ewjgn083/src/linux-user/syscall.c:118:
>>>> /var/tmp/patchew-tester-tmp-ewjgn083/src/linux-user/syscall.c: In
>>>> function ‘do_sendrecvmsg_locked’:
>>>> /var/tmp/patchew-tester-tmp-ewjgn083/src/linux-user/syscall_defs.h:308:61:
>>>> error: ‘tgt_len’ may be used uninitialized in this function
>>>> [-Werror=maybe-uninitialized]
>>>>  #define TARGET_CMSG_LEN(len) (sizeof(struct target_cmsghdr) + 
>>>> (len))
>>>>                                                              
>>>> ^
>>>> /var/tmp/patchew-tester-tmp-ewjgn083/src/linux-user/syscall.c:1797:13: 
>>>> note:
>>>> ‘tgt_len’ was declared here
>>>>          int tgt_len, tgt_space;
>>>>              ^~~~~~~
>>> 
>>> it seems gcc disagrees with Coverity...
>>> 
>>> I think this should fixed like:
>>> 
>>>  diff --git a/linux-user/syscall.c b/linux-user/syscall.c
>>> index 74378947f0..d7fbe334eb 100644
>>> --- a/linux-user/syscall.c
>>> +++ b/linux-user/syscall.c
>>> @@ -1824,8 +1824,10 @@ static inline abi_long 
>>> host_to_target_cmsg(struct
>>> target_msghdr *target_msgh,
>>>                  tgt_len = sizeof(struct 
>>> target_timeval);
>>>                  break;
>>>              default:
>>> +                tgt_len = len;
>>>                  break;
>> 
>> In my view this will result in assigning a wrong value to 
>> ‘tgt_len’ at
>> this ‘switch-case’ condition.
>> Instead looking at the option of initializing ‘tgt_len' to ‘0’.
> 
> According to the comment above the switch():
> 
>         /* Payload types which need a different size of payload on
>          * the target must adjust tgt_len here.
>          */
> 
> So "tgt_len" must be "len" by default, except if it needs to be 
> adjusted
> (currently only for SO_TIMESTAMP), so I don't understand why it should
> be set to "0".
> 
> Thanks,
> Laurent

  1814         switch (cmsg->cmsg_level) {
  1815         case SOL_SOCKET:
  1816             switch (cmsg->cmsg_type) {
  1817             case SO_TIMESTAMP:
  1818                 tgt_len = sizeof(struct target_timeval);
  1819                 break;
  1820             default:
  1821                 break;
  1822             }
  1823         default:
  1824             tgt_len = len;
  1825             break;
  1826         }


If setting tgt_len = len at 1820 then it get set to 'case SOL_SOCKET{ 
switch (cmsg_type's default) }' This place am not sure assingn tgt_len 
with len. To eliminate the gcc uninitialized error thought of 
initializing with '0'.


-- 
Regards,
R.Nageswara Sastry


  reply	other threads:[~2018-02-16  9:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07  9:29 [Qemu-devel] [patch] linux-user/syscall.c: Fix missing break for host_to_target_cmsg Nageswara R Sastry
2018-02-07  9:49 ` no-reply
2018-02-07 13:57   ` Laurent Vivier
2018-02-08  5:33     ` Nageswara Sastry
2018-02-08  9:56     ` Nageswara R Sastry
2018-02-15 14:47       ` Laurent Vivier
2018-02-16  9:42         ` Nageswara R Sastry [this message]
2018-02-07  9:58 ` no-reply
  -- strict thread matches above, loose matches on Subject: below --
2018-02-07  6:26 Nageswara R Sastry
2018-02-07 14:53 ` no-reply
2018-02-07 15:02 ` no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1d5a44052bc4f4933ac520b1bbd9a88b@linux.vnet.ibm.com \
    --to=rnsastry@linux.vnet.ibm.com \
    --cc=laurent@vivier.eu \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.