1
0
Fork 0
alistair23-linux/drivers/vhost
Eugenio Pérez f09fbb1175 vhost: Check docket sk_family instead of call getname
commit 42d84c8490 upstream.

Doing so, we save one call to get data we already have in the struct.

Also, since there is no guarantee that getname use sockaddr_ll
parameter beyond its size, we add a little bit of security here.
It should do not do beyond MAX_ADDR_LEN, but syzbot found that
ax25_getname writes more (72 bytes, the size of full_sockaddr_ax25,
versus 20 + 32 bytes of sockaddr_ll + MAX_ADDR_LEN in syzbot repro).

Fixes: 3a4d5c94e9 ("vhost_net: a kernel-level virtio server")
Reported-by: syzbot+f2a62d07a5198c819c7b@syzkaller.appspotmail.com
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-03-05 16:43:44 +01:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.vringh treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
net.c vhost: Check docket sk_family instead of call getname 2020-03-05 16:43:44 +01:00
scsi.c vhost: scsi: add weight support 2019-05-27 11:08:23 -04:00
test.c vhost/test: stop device before reset 2019-10-13 09:38:27 -04:00
test.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vhost.c Revert "vhost: block speculation of translated descriptors" 2019-09-14 15:21:51 -04:00
vhost.h Revert "vhost: access vq metadata through kernel virtual address" 2019-09-04 07:39:48 -04:00
vringh.c vringh: fix copy direction of vringh_iov_push_kern() 2019-10-28 04:25:04 -04:00
vsock.c vhost/vsock: accept only packets with the right dst_cid 2020-01-04 19:19:18 +01:00