OpenCloudOS-Kernel/drivers/vhost
Eugenio Pérez 42d84c8490 vhost: Check docket sk_family instead of call getname
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>
2020-02-22 21:41:42 -08: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-02-22 21:41:42 -08:00
scsi.c compat_ioctl: move drivers to compat_ptr_ioctl 2019-10-23 17:23:43 +02:00
test.c compat_ioctl: remove most of fs/compat_ioctl.c 2019-12-01 13:46:15 -08: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 vhost, kcov: collect coverage from vhost_worker 2019-12-04 19:44:14 -08:00
vhost.h vhost, kcov: collect coverage from vhost_worker 2019-12-04 19:44:14 -08: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 2019-12-07 11:59:51 -08:00