LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Kevin Easton <kevin@guarana.org>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: kvm@vger.kernel.org, virtualization@lists.linux-foundation.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	syzkaller-bugs@googlegroups.com
Subject: Re: [PATCH net] vhost: Use kzalloc() to allocate vhost_msg_node
Date: Sat, 28 Apr 2018 10:23:18 +0800	[thread overview]
Message-ID: <0dcd15ae-cd9b-1e3c-1311-4d86d1aa51d2@redhat.com> (raw)
In-Reply-To: <20180428015106.GA27738@la.guarana.org>



On 2018年04月28日 09:51, Kevin Easton wrote:
> On Fri, Apr 27, 2018 at 09:07:56PM -0400, Kevin Easton wrote:
>> On Fri, Apr 27, 2018 at 07:05:45PM +0300, Michael S. Tsirkin wrote:
>>> On Fri, Apr 27, 2018 at 11:45:02AM -0400, Kevin Easton wrote:
>>>> The struct vhost_msg within struct vhost_msg_node is copied to userspace,
>>>> so it should be allocated with kzalloc() to ensure all structure padding
>>>> is zeroed.
>>>>
>>>> Signed-off-by: Kevin Easton <kevin@guarana.org>
>>>> Reported-by: syzbot+87cfa083e727a224754b@syzkaller.appspotmail.com
>>> Does it help if a patch naming the padding is applied,
>>> and then we init just the relevant field?
>>> Just curious.
>> No, I don't believe that is sufficient to fix the problem.
> Scratch that, somehow I missed the "..and then we init just the
> relevant field" part, sorry.
>
> There's still the padding after the vhost_iotlb_msg to consider.  It's
> named in the union but I don't think that's guaranteed to be initialised
> when the iotlb member of the union is used to initialise things.
>
>> I didn't name the padding in my original patch because I wasn't sure
>> if the padding actually exists on 32 bit architectures?
> This might still be a conce

Yes.

print &((struct vhost_msg *)0)->iotlb
$3 = (struct vhost_iotlb_msg *) 0x4


>
> At the end of the day, zeroing 96 bytes (the full size of vhost_msg_node)
> is pretty quick.
>
>      - Kevin

Right, and even if it may be used heavily in the data-path, zeroing is 
not the main delay in that path.

Thanks

  reply	other threads:[~2018-04-28  2:23 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-23 16:56 KMSAN: uninit-value in _copy_to_iter (2) syzbot
2018-04-25 19:19 ` syzbot
2018-06-07 15:38   ` Michael S. Tsirkin
2018-06-07 15:38     ` syzbot
2018-06-07 16:25     ` Dmitry Vyukov
2018-06-07 17:04       ` syzbot
2018-06-07 17:43     ` Al Viro
2018-06-07 17:59       ` Michael S. Tsirkin
2018-06-07 18:04         ` Al Viro
2018-06-07 19:29           ` Michael S. Tsirkin
2018-06-07 17:10   ` Michael S. Tsirkin
2018-06-07 17:31     ` syzbot
2018-04-27 15:45 ` [PATCH net] vhost: Use kzalloc() to allocate vhost_msg_node Kevin Easton
2018-04-27 16:05   ` Michael S. Tsirkin
2018-04-27 16:11     ` Dmitry Vyukov
2018-04-27 16:15       ` Michael S. Tsirkin
2018-04-27 16:25         ` Dmitry Vyukov
2018-04-27 16:29           ` Dmitry Vyukov
2018-04-27 19:36       ` Michael S. Tsirkin
2018-04-29  8:10         ` Dmitry Vyukov
2018-04-28  1:07     ` Kevin Easton
2018-04-28  1:51       ` Kevin Easton
2018-04-28  2:23         ` Jason Wang [this message]
2018-05-07 13:03   ` Michael S. Tsirkin
2018-05-07 13:12     ` Dmitry Vyukov
2018-05-08  8:27     ` Kevin Easton
2018-05-29 22:19   ` [net] " Guenter Roeck
2018-05-30  3:01     ` Michael S. Tsirkin
2018-05-30  3:42       ` Guenter Roeck
2018-06-04 12:34       ` Dmitry Vyukov

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=0dcd15ae-cd9b-1e3c-1311-4d86d1aa51d2@redhat.com \
    --to=jasowang@redhat.com \
    --cc=kevin@guarana.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=virtualization@lists.linux-foundation.org \
    --subject='Re: [PATCH net] vhost: Use kzalloc() to allocate vhost_msg_node' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).