LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Kevin Easton <kevin@guarana.org>,
Jason Wang <jasowang@redhat.com>,
kvm@vger.kernel.org, virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
syzkaller-bugs@googlegroups.com
Subject: Re: [net] vhost: Use kzalloc() to allocate vhost_msg_node
Date: Wed, 30 May 2018 06:01:09 +0300 [thread overview]
Message-ID: <20180530055704-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20180529221908.GA22742@roeck-us.net>
On Tue, May 29, 2018 at 03:19:08PM -0700, Guenter Roeck 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
>
> Is this patch going anywhere ?
>
> The patch fixes CVE-2018-1118. It would be useful to understand if and when
> this problem is going to be fixed.
>
> Thanks,
> Guenter
> > ---
> > drivers/vhost/vhost.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
> > index f3bd8e9..1b84dcff 100644
> > --- a/drivers/vhost/vhost.c
> > +++ b/drivers/vhost/vhost.c
> > @@ -2339,7 +2339,7 @@ EXPORT_SYMBOL_GPL(vhost_disable_notify);
> > /* Create a new message. */
> > struct vhost_msg_node *vhost_new_msg(struct vhost_virtqueue *vq, int type)
> > {
> > - struct vhost_msg_node *node = kmalloc(sizeof *node, GFP_KERNEL);
> > + struct vhost_msg_node *node = kzalloc(sizeof *node, GFP_KERNEL);
> > if (!node)
> > return NULL;
> > node->vq = vq;
As I pointed out, we don't need to init the whole structure. The proper
fix is thus (I think) below.
Could you use your testing infrastructure to confirm this fixes the issue?
Thanks!
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index f3bd8e941224..58d9aec90afb 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -2342,6 +2342,9 @@ struct vhost_msg_node *vhost_new_msg(struct vhost_virtqueue *vq, int type)
struct vhost_msg_node *node = kmalloc(sizeof *node, GFP_KERNEL);
if (!node)
return NULL;
+
+ /* Make sure all padding within the structure is initialized. */
+ memset(&node->msg, 0, sizeof node->msg);
node->vq = vq;
node->msg.type = type;
return node;
next prev parent reply other threads:[~2018-05-30 3:01 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
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 [this message]
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=20180530055704-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=jasowang@redhat.com \
--cc=kevin@guarana.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=netdev@vger.kernel.org \
--cc=syzkaller-bugs@googlegroups.com \
--cc=virtualization@lists.linux-foundation.org \
--subject='Re: [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).