]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
vsock_addr: Check for supported flag values
authorAndra Paraschiv <andraprs@amazon.com>
Mon, 14 Dec 2020 16:11:20 +0000 (18:11 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Dec 2020 03:33:39 +0000 (19:33 -0800)
Check if the provided flags value from the vsock address data structure
includes the supported flags in the corresponding kernel version.

The first byte of the "svm_zero" field is used as "svm_flags", so add
the flags check instead.

Changelog

v3 -> v4

* New patch in v4.

Signed-off-by: Andra Paraschiv <andraprs@amazon.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/vmw_vsock/vsock_addr.c

index 909de26cb0e707c4b70fdf72c33d1da9cbb15681..223b9660a759f69791464a1a7b88e597ccb16e44 100644 (file)
@@ -22,13 +22,15 @@ EXPORT_SYMBOL_GPL(vsock_addr_init);
 
 int vsock_addr_validate(const struct sockaddr_vm *addr)
 {
+       __u8 svm_valid_flags = VMADDR_FLAG_TO_HOST;
+
        if (!addr)
                return -EFAULT;
 
        if (addr->svm_family != AF_VSOCK)
                return -EAFNOSUPPORT;
 
-       if (addr->svm_zero[0] != 0)
+       if (addr->svm_flags & ~svm_valid_flags)
                return -EINVAL;
 
        return 0;