]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: remove addr_len argument of recvmsg() handlers
authorEric Dumazet <edumazet@google.com>
Fri, 27 Feb 2026 15:11:20 +0000 (15:11 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 Mar 2026 02:17:17 +0000 (18:17 -0800)
commit8341c989ac77d712c7d6e2bce29e8a4bcb2eeae4
treee146696a6ec409dfd245355dd2bf77c8f4cba23b
parentf5ada26d6cca4c5d9a20eda55f44e772018b36af
net: remove addr_len argument of recvmsg() handlers

Use msg->msg_namelen as a place holder instead of a
temporary variable, notably in inet[6]_recvmsg().

This removes stack canaries and allows tail-calls.

$ scripts/bloat-o-meter -t vmlinux.old vmlinux
add/remove: 0/0 grow/shrink: 2/19 up/down: 26/-532 (-506)
Function                                     old     new   delta
rawv6_recvmsg                                744     767     +23
vsock_dgram_recvmsg                           55      58      +3
vsock_connectible_recvmsg                     50      47      -3
unix_stream_recvmsg                          161     158      -3
unix_seqpacket_recvmsg                        62      59      -3
unix_dgram_recvmsg                            42      39      -3
tcp_recvmsg                                  546     543      -3
mptcp_recvmsg                               1568    1565      -3
ping_recvmsg                                 806     800      -6
tcp_bpf_recvmsg_parser                       983     974      -9
ip_recv_error                                588     576     -12
ipv6_recv_rxpmtu                             442     428     -14
udp_recvmsg                                 1243    1224     -19
ipv6_recv_error                             1046    1024     -22
udpv6_recvmsg                               1487    1461     -26
raw_recvmsg                                  465     437     -28
udp_bpf_recvmsg                             1027     984     -43
sock_common_recvmsg                          103      27     -76
inet_recvmsg                                 257     175     -82
inet6_recvmsg                                257     175     -82
tcp_bpf_recvmsg                              663     568     -95
Total: Before=25143834, After=25143328, chg -0.00%

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20260227151120.1346573-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
39 files changed:
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
drivers/net/ovpn/tcp.c
include/net/inet_common.h
include/net/ip.h
include/net/ipv6.h
include/net/ping.h
include/net/sock.h
include/net/tcp.h
net/core/sock.c
net/ieee802154/socket.c
net/ipv4/af_inet.c
net/ipv4/ip_sockglue.c
net/ipv4/ping.c
net/ipv4/raw.c
net/ipv4/tcp.c
net/ipv4/tcp_bpf.c
net/ipv4/udp.c
net/ipv4/udp_bpf.c
net/ipv4/udp_impl.h
net/ipv6/af_inet6.c
net/ipv6/datagram.c
net/ipv6/ping.c
net/ipv6/raw.c
net/ipv6/udp.c
net/ipv6/udp_impl.h
net/l2tp/l2tp_ip.c
net/l2tp/l2tp_ip6.c
net/mptcp/protocol.c
net/phonet/datagram.c
net/phonet/pep.c
net/sctp/socket.c
net/tls/tls.h
net/tls/tls_sw.c
net/unix/af_unix.c
net/unix/unix_bpf.c
net/vmw_vsock/af_vsock.c
net/vmw_vsock/vsock_bpf.c
net/xfrm/espintcp.c