From: Stefan Hajnoczi <stefanha@redhat.com>
To: Jeongjun Park <aha310510@gmail.com>
Cc: mst@redhat.com, jasowang@redhat.com, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, sgarzare@redhat.com,
syzbot+6c21aeb59d0e82eb2782@syzkaller.appspotmail.com,
syzkaller-bugs@googlegroups.com, virtualization@lists.linux.dev,
Arseny Krasnov <arseny.krasnov@kaspersky.com>
Subject: Re: [PATCH virt] virt: fix uninit-value in vhost_vsock_dev_open
Date: Mon, 22 Apr 2024 09:00:31 -0400 [thread overview]
Message-ID: <20240422130031.GA77895@fedora> (raw)
In-Reply-To: <20240421030606.80385-1-aha310510@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1129 bytes --]
On Sun, Apr 21, 2024 at 12:06:06PM +0900, Jeongjun Park wrote:
> static bool vhost_transport_seqpacket_allow(u32 remote_cid)
> {
> ....
> vsock = vhost_vsock_get(remote_cid);
>
> if (vsock)
> seqpacket_allow = vsock->seqpacket_allow;
> ....
> }
>
> I think this is due to reading a previously created uninitialized
> vsock->seqpacket_allow inside vhost_transport_seqpacket_allow(),
> which is executed by the function pointer present in the if statement.
CCing Arseny, author of commit ced7b713711f ("vhost/vsock: support
SEQPACKET for transport").
Looks like a genuine bug in the commit. vhost_vsock_set_features() sets
seqpacket_allow to true when the feature is negotiated. The assumption
is that the field defaults to false.
The rest of the vhost_vsock.ko code is written to initialize the
vhost_vsock fields, so you could argue seqpacket_allow should just be
explicitly initialized to false.
However, eliminating this class of errors by zeroing seems reasonable in
this code path. vhost_vsock_dev_open() is not performance-critical.
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2024-04-22 13:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-19 9:39 [syzbot] [virt?] [net?] KMSAN: uninit-value in vsock_assign_transport (2) syzbot
2024-04-19 12:39 ` Jeongjun Park
2024-04-19 14:44 ` syzbot
2024-04-19 14:56 ` Jeongjun Park
2024-04-19 15:39 ` syzbot
2024-04-20 8:57 ` [PATCH virt] virt: fix uninit-value in vhost_vsock_dev_open Jeongjun Park
2024-04-20 10:05 ` Michael S. Tsirkin
2024-04-21 3:06 ` Jeongjun Park
2024-04-22 13:00 ` Stefan Hajnoczi [this message]
2024-04-22 14:20 ` Michael S. Tsirkin
2024-05-05 19:53 ` Arseniy Krasnov
2024-04-22 14:18 ` [syzbot] [virt?] [net?] KMSAN: uninit-value in vsock_assign_transport (2) Michael S. Tsirkin
2024-04-23 1:31 ` syzbot
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=20240422130031.GA77895@fedora \
--to=stefanha@redhat.com \
--cc=aha310510@gmail.com \
--cc=arseny.krasnov@kaspersky.com \
--cc=jasowang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=sgarzare@redhat.com \
--cc=syzbot+6c21aeb59d0e82eb2782@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=virtualization@lists.linux.dev \
/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.