]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: change sock.sk_ino and sock_i_ino() to u64
authorJeff Layton <jlayton@kernel.org>
Wed, 4 Mar 2026 15:32:33 +0000 (10:32 -0500)
committerChristian Brauner <brauner@kernel.org>
Fri, 6 Mar 2026 13:31:26 +0000 (14:31 +0100)
commit0fe27e5985925de8f0243f91658af7a6fea05725
treed836d2b6a2aa5c8a0c7e34d667bf01eecca6f883
parent125dfa218134df7cc112667e92984de9d8cd0bf6
net: change sock.sk_ino and sock_i_ino() to u64

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.

Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> # for net/can
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://patch.msgid.link/20260304-iino-u64-v3-3-2257ad83d372@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
20 files changed:
include/net/sock.h
net/ax25/af_ax25.c
net/bluetooth/af_bluetooth.c
net/can/bcm.c
net/ipv4/ping.c
net/ipv4/raw.c
net/ipv4/tcp_ipv4.c
net/ipv4/udp.c
net/ipv6/datagram.c
net/ipv6/tcp_ipv6.c
net/key/af_key.c
net/netlink/af_netlink.c
net/netlink/diag.c
net/packet/af_packet.c
net/packet/diag.c
net/phonet/socket.c
net/sctp/proc.c
net/unix/af_unix.c
net/unix/diag.c
net/xdp/xsk_diag.c