linux-yocto/net
Florian Westphal 7b8b503c06 netfilter: nf_reject: don't leak dst refcount for loopback packets
[ Upstream commit 91a79b792204313153e1bdbbe5acbfc28903b3a5 ]

recent patches to add a WARN() when replacing skb dst entry found an
old bug:

WARNING: include/linux/skbuff.h:1165 skb_dst_check_unset include/linux/skbuff.h:1164 [inline]
WARNING: include/linux/skbuff.h:1165 skb_dst_set include/linux/skbuff.h:1210 [inline]
WARNING: include/linux/skbuff.h:1165 nf_reject_fill_skb_dst+0x2a4/0x330 net/ipv4/netfilter/nf_reject_ipv4.c:234
[..]
Call Trace:
 nf_send_unreach+0x17b/0x6e0 net/ipv4/netfilter/nf_reject_ipv4.c:325
 nft_reject_inet_eval+0x4bc/0x690 net/netfilter/nft_reject_inet.c:27
 expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline]
 ..

This is because blamed commit forgot about loopback packets.
Such packets already have a dst_entry attached, even at PRE_ROUTING stage.

Instead of checking hook just check if the skb already has a route
attached to it.

Fixes: f53b9b0bdc ("netfilter: introduce support for reject at prerouting stage")
Signed-off-by: Florian Westphal <fw@strlen.de>
Link: https://patch.msgid.link/20250820123707.10671-1-fw@strlen.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-08-28 16:22:59 +02:00
..
6lowpan
9p 9p/xen: fix release of IRQ 2024-12-14 19:48:15 +01:00
802 net: 802: LLC+SNAP OID:PID lookup on start of skb data 2025-02-01 18:22:18 +01:00
8021q net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime 2025-08-28 16:22:29 +02:00
appletalk net: appletalk: Fix use-after-free in AARP proxy probe 2025-08-28 16:22:30 +02:00
atm atm: clip: Fix NULL pointer dereference in vcc_sendmsg() 2025-07-17 18:27:54 +02:00
ax25
batman-adv batman-adv: Ignore own maximum aggregation size during RX 2025-04-10 14:30:53 +02:00
bluetooth Bluetooth: L2CAP: Fix attempting to adjust outgoing MTU 2025-08-28 16:22:29 +02:00
bpf
bpfilter
bridge netfilter: nft_reject: unify reject init and dump into nft_reject 2025-08-28 16:22:59 +02:00
caif caif: reduce stack size, again 2025-08-28 16:22:32 +02:00
can can: bcm: add missing rcu read protection for procfs content 2025-06-04 14:37:07 +02:00
ceph libceph: fix race between delayed_work() and ceph_monc_stop() 2024-07-18 13:05:49 +02:00
core netpoll: prevent hanging NAPI when netcons gets enabled 2025-08-28 16:22:37 +02:00
dcb
dccp net: fix data-races around sk->sk_forward_alloc 2025-02-01 18:22:31 +01:00
decnet
dns_resolver
dsa
ethernet gro: remove rcu_read_lock/rcu_read_unlock from gro_complete handlers 2024-09-12 11:06:47 +02:00
ethtool ethtool: Fix wrong mod state in case of verbose and no_mask bitset 2024-12-14 19:48:20 +01:00
hsr net, hsr: reject HSR frame if skb can't hold tag 2025-08-28 16:22:51 +02:00
ieee802154 net: ieee802154: do not leave a dangling sk pointer in ieee802154_create() 2024-12-14 19:48:27 +01:00
ife
ipv4 netfilter: nf_reject: don't leak dst refcount for loopback packets 2025-08-28 16:22:59 +02:00
ipv6 netfilter: nf_reject: don't leak dst refcount for loopback packets 2025-08-28 16:22:59 +02:00
iucv s390/iucv: fix receive buffer virtual vs physical address confusion 2024-09-04 13:17:38 +02:00
kcm kcm: Serialise kcm_sendmsg() for the same socket. 2024-09-04 13:17:40 +02:00
key
l2tp genetlink: hold RCU in genlmsg_mcast() 2024-11-08 16:21:57 +01:00
l3mdev net: Add l3mdev index to flow struct and avoid oif reset for port devices 2024-10-17 15:08:35 +02:00
lapb
llc llc: fix data loss when reading from a socket in llc_ui_recvmsg() 2025-06-04 14:37:07 +02:00
mac80211 Reapply "wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()" 2025-08-28 16:22:33 +02:00
mac802154 mac802154: check local interfaces before deleting sdata list 2025-02-01 18:22:28 +01:00
mpls mpls: Use rcu_dereference_rtnl() in mpls_route_input_rcu(). 2025-06-27 11:04:22 +01:00
mptcp mptcp: sockopt: fix getting IPV6_V6ONLY 2025-05-02 07:41:04 +02:00
ncsi net: ncsi: Fix buffer overflow in fetching version id 2025-08-28 16:22:44 +02:00
netfilter netfilter: nft_reject_inet: allow to use reject from inet ingress 2025-08-28 16:22:59 +02:00
netlabel calipso: unlock rcu before returning -EAFNOSUPPORT 2025-06-27 11:04:11 +01:00
netlink netlink: avoid infinite retry looping in netlink_unicast() 2025-08-28 16:22:38 +02:00
netrom netrom: check buffer length before accessing it 2025-01-09 13:25:02 +01:00
nfc NFC: nci: uart: Set tty->disc_data only in success path 2025-06-27 11:04:13 +01:00
nsh
openvswitch net: openvswitch: Fix the dead loop of MPLS parse 2025-06-27 11:04:04 +01:00
packet net/packet: fix a race in packet_set_ring() and packet_notifier() 2025-08-28 16:22:38 +02:00
phonet phonet/pep: Move call to pn_skb_get_dst_sockaddr() earlier in pep_sock_accept() 2025-08-28 16:22:27 +02:00
psample
qrtr net: qrtr: Update packets cloning when broadcasting 2024-10-17 15:07:58 +02:00
rds net:rds: Fix possible deadlock in rds_message_put 2024-09-04 13:17:45 +02:00
rfkill net: rfkill: gpio: Add check for clk_enable() 2024-12-14 19:47:55 +01:00
rose rose: fix dangling neighbour pointers in rose_rt_device_down() 2025-07-17 18:27:47 +02:00
rxrpc rxrpc: Fix oops due to non-existence of prealloc backlog struct 2025-07-17 18:27:54 +02:00
sched net/sched: Remove unnecessary WARNING condition for empty child qdisc in htb_activate 2025-08-28 16:22:59 +02:00
sctp sctp: linearize cloned gso packets in sctp_rcv 2025-08-28 16:22:39 +02:00
smc net/smc: fix data error when recvmsg with MSG_PEEK flag 2025-03-13 12:46:48 +01:00
strparser
sunrpc sunrpc: fix race in cache cleanup causing stale nextcheck time 2025-06-27 11:04:16 +01:00
switchdev
tipc tipc: Fix use-after-free in tipc_conn_close(). 2025-07-17 18:27:52 +02:00
tls bpf, ktls: Fix data corruption when using bpf_msg_pop_data() in ktls 2025-08-28 16:22:32 +02:00
unix af_unix: Remove put_pid()/put_cred() in copy_peercred(). 2024-09-12 11:06:45 +02:00
vmw_vsock vsock: Do not allow binding to VMADDR_PORT_ANY 2025-08-28 16:22:38 +02:00
wimax
wireless wifi: cfg80211: reject HTC bit for management frames 2025-08-28 16:22:42 +02:00
x25
xdp
xfrm xfrm: Sanitize marks before insert 2025-06-04 14:37:07 +02:00
compat.c
devres.c
Kconfig bpf: Clean up sockmap related Kconfigs 2025-06-27 11:04:09 +01:00
Makefile
socket.c
sysctl_net.c