Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vsock: use sizeof(struct sockaddr_storage) instead of magic value

Previous commit 230b183921ec ("net: Use standard structures for generic
socket address structures.") use 'struct sockaddr_storage address;'
to replace 'char address[MAX_SOCK_ADDR];'.

The macro MAX_SOCK_ADDR is removed by commit 01893c82b4e6 ("net: Remove
MAX_SOCK_ADDR constant").

The comment in vsock_getname() is outdated, use sizeof(struct
sockaddr_storage) instead of magic value 128.

Signed-off-by: Wang Liang <wangliang74@huawei.com>
Link: https://patch.msgid.link/20250812015929.1419896-1-wangliang74@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Wang Liang and committed by
Jakub Kicinski
4d18083d b9970c4d

+1 -6
+1 -6
net/vmw_vsock/af_vsock.c
··· 1028 1028 vm_addr = &vsk->local_addr; 1029 1029 } 1030 1030 1031 - /* sys_getsockname() and sys_getpeername() pass us a 1032 - * MAX_SOCK_ADDR-sized buffer and don't set addr_len. Unfortunately 1033 - * that macro is defined in socket.c instead of .h, so we hardcode its 1034 - * value here. 1035 - */ 1036 - BUILD_BUG_ON(sizeof(*vm_addr) > 128); 1031 + BUILD_BUG_ON(sizeof(*vm_addr) > sizeof(struct sockaddr_storage)); 1037 1032 memcpy(addr, vm_addr, sizeof(*vm_addr)); 1038 1033 err = sizeof(*vm_addr); 1039 1034