diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2017-11-09 16:29:10 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-01-13 12:01:04 +0300 |
commit | 14c2cd93e276832e92c1a811a1552bb4036108af (patch) | |
tree | 17548afb3f3c3d8746688f4c73751cec1031b9fc /drivers/vhost | |
parent | 1f33700bdf421490aef65bb794dbd9d9837f7ea0 (diff) | |
download | linux-14c2cd93e276832e92c1a811a1552bb4036108af.tar.xz |
vhost/vsock: fix uninitialized vhost_vsock->guest_cid
commit a72b69dc083a931422cc8a5e33841aff7d5312f2 upstream.
The vhost_vsock->guest_cid field is uninitialized when /dev/vhost-vsock
is opened until the VHOST_VSOCK_SET_GUEST_CID ioctl is called.
kvmalloc(..., GFP_KERNEL | __GFP_RETRY_MAYFAIL) does not zero memory.
All other vhost_vsock fields are initialized explicitly so just
initialize this field too.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Cc: Daniel Verkamp <dverkamp@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/vhost')
-rw-r--r-- | drivers/vhost/vsock.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c index 248533c0f9ac..831758335e2c 100644 --- a/drivers/vhost/vsock.c +++ b/drivers/vhost/vsock.c @@ -522,6 +522,8 @@ static int vhost_vsock_dev_open(struct inode *inode, struct file *file) goto out; } + vsock->guest_cid = 0; /* no CID assigned yet */ + atomic_set(&vsock->queued_replies, 0); vqs[VSOCK_VQ_TX] = &vsock->vqs[VSOCK_VQ_TX]; |