Commit cada7ccd authored by Andra Paraschiv's avatar Andra Paraschiv Committed by Jakub Kicinski
Browse files

vsock_addr: Check for supported flag values



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: default avatarAndra Paraschiv <andraprs@amazon.com>
Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent caaf95e0
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;