On 02.03.2026 15:23:48, Jeff Layton wrote:
inode->i_ino is being converted to a u64. sock.sk_ino (which caches the inode number) must also be widened to avoid truncation on 32-bit architectures where unsigned long is only 32 bits.
Change sk_ino from unsigned long to u64, and update the return type of sock_i_ino() to match. Fix all format strings that print the result of sock_i_ino() (%lu -> %llu), and widen the intermediate variables and function parameters in the diag modules that were using int to hold the inode number.
Note that the UAPI socket diag structures (inet_diag_msg.idiag_inode, unix_diag_msg.udiag_ino, etc.) are all __u32 and cannot be changed without breaking the ABI. The assignments to those fields will silently truncate, which is the existing behavior.
Signed-off-by: Jeff Layton jlayton@kernel.org
net/can/bcm.c | 2 +-
Acked-by: Marc Kleine-Budde mkl@pengutronix.de # for net/can
regards, Marc