netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
@ 2025-08-20 12:37 Florian Westphal
  2025-08-20 13:16 ` Pablo Neira Ayuso
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Florian Westphal @ 2025-08-20 12:37 UTC (permalink / raw)
  To: netdev
  Cc: Paolo Abeni, David S. Miller, Eric Dumazet, Jakub Kicinski,
	netfilter-devel, pablo

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: f53b9b0bdc59 ("netfilter: introduce support for reject at prerouting stage")
Signed-off-by: Florian Westphal <fw@strlen.de>
---
 Sending this instead of a pull request. the only other two
 candidates for -net are still under review.

 Let me know if you prefer a normal pull request even in this case.
 Thanks!

 net/ipv4/netfilter/nf_reject_ipv4.c | 6 ++----
 net/ipv6/netfilter/nf_reject_ipv6.c | 5 ++---
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/net/ipv4/netfilter/nf_reject_ipv4.c b/net/ipv4/netfilter/nf_reject_ipv4.c
index 87fd945a0d27..0d3cb2ba6fc8 100644
--- a/net/ipv4/netfilter/nf_reject_ipv4.c
+++ b/net/ipv4/netfilter/nf_reject_ipv4.c
@@ -247,8 +247,7 @@ void nf_send_reset(struct net *net, struct sock *sk, struct sk_buff *oldskb,
 	if (!oth)
 		return;
 
-	if ((hook == NF_INET_PRE_ROUTING || hook == NF_INET_INGRESS) &&
-	    nf_reject_fill_skb_dst(oldskb) < 0)
+	if (!skb_dst(oldskb) && nf_reject_fill_skb_dst(oldskb) < 0)
 		return;
 
 	if (skb_rtable(oldskb)->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST))
@@ -321,8 +320,7 @@ void nf_send_unreach(struct sk_buff *skb_in, int code, int hook)
 	if (iph->frag_off & htons(IP_OFFSET))
 		return;
 
-	if ((hook == NF_INET_PRE_ROUTING || hook == NF_INET_INGRESS) &&
-	    nf_reject_fill_skb_dst(skb_in) < 0)
+	if (!skb_dst(skb_in) && nf_reject_fill_skb_dst(skb_in) < 0)
 		return;
 
 	if (skb_csum_unnecessary(skb_in) ||
diff --git a/net/ipv6/netfilter/nf_reject_ipv6.c b/net/ipv6/netfilter/nf_reject_ipv6.c
index 838295fa32e3..cb2d38e80de9 100644
--- a/net/ipv6/netfilter/nf_reject_ipv6.c
+++ b/net/ipv6/netfilter/nf_reject_ipv6.c
@@ -293,7 +293,7 @@ void nf_send_reset6(struct net *net, struct sock *sk, struct sk_buff *oldskb,
 	fl6.fl6_sport = otcph->dest;
 	fl6.fl6_dport = otcph->source;
 
-	if (hook == NF_INET_PRE_ROUTING || hook == NF_INET_INGRESS) {
+	if (!skb_dst(oldskb)) {
 		nf_ip6_route(net, &dst, flowi6_to_flowi(&fl6), false);
 		if (!dst)
 			return;
@@ -397,8 +397,7 @@ void nf_send_unreach6(struct net *net, struct sk_buff *skb_in,
 	if (hooknum == NF_INET_LOCAL_OUT && skb_in->dev == NULL)
 		skb_in->dev = net->loopback_dev;
 
-	if ((hooknum == NF_INET_PRE_ROUTING || hooknum == NF_INET_INGRESS) &&
-	    nf_reject6_fill_skb_dst(skb_in) < 0)
+	if (!skb_dst(skb_in) && nf_reject6_fill_skb_dst(skb_in) < 0)
 		return;
 
 	icmpv6_send(skb_in, ICMPV6_DEST_UNREACH, code, 0);
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
  2025-08-20 12:37 [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets Florian Westphal
@ 2025-08-20 13:16 ` Pablo Neira Ayuso
  2025-08-20 13:20   ` Pablo Neira Ayuso
  2025-08-20 13:16 ` Eric Dumazet
  2025-08-21 17:20 ` patchwork-bot+netdevbpf
  2 siblings, 1 reply; 7+ messages in thread
From: Pablo Neira Ayuso @ 2025-08-20 13:16 UTC (permalink / raw)
  To: Florian Westphal
  Cc: netdev, Paolo Abeni, David S. Miller, Eric Dumazet,
	Jakub Kicinski, netfilter-devel

Hi Florian,

On Wed, Aug 20, 2025 at 02:37:07PM +0200, Florian Westphal wrote:
> 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.

Quick question: does inconditional route lookup work for br_netfilter?

> Fixes: f53b9b0bdc59 ("netfilter: introduce support for reject at prerouting stage")
> Signed-off-by: Florian Westphal <fw@strlen.de>
> ---
>  Sending this instead of a pull request. the only other two
>  candidates for -net are still under review.
> 
>  Let me know if you prefer a normal pull request even in this case.
>  Thanks!
> 
>  net/ipv4/netfilter/nf_reject_ipv4.c | 6 ++----
>  net/ipv6/netfilter/nf_reject_ipv6.c | 5 ++---
>  2 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/net/ipv4/netfilter/nf_reject_ipv4.c b/net/ipv4/netfilter/nf_reject_ipv4.c
> index 87fd945a0d27..0d3cb2ba6fc8 100644
> --- a/net/ipv4/netfilter/nf_reject_ipv4.c
> +++ b/net/ipv4/netfilter/nf_reject_ipv4.c
> @@ -247,8 +247,7 @@ void nf_send_reset(struct net *net, struct sock *sk, struct sk_buff *oldskb,
>  	if (!oth)
>  		return;
>  
> -	if ((hook == NF_INET_PRE_ROUTING || hook == NF_INET_INGRESS) &&
> -	    nf_reject_fill_skb_dst(oldskb) < 0)
> +	if (!skb_dst(oldskb) && nf_reject_fill_skb_dst(oldskb) < 0)
>  		return;
>  
>  	if (skb_rtable(oldskb)->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST))
> @@ -321,8 +320,7 @@ void nf_send_unreach(struct sk_buff *skb_in, int code, int hook)
>  	if (iph->frag_off & htons(IP_OFFSET))
>  		return;
>  
> -	if ((hook == NF_INET_PRE_ROUTING || hook == NF_INET_INGRESS) &&
> -	    nf_reject_fill_skb_dst(skb_in) < 0)
> +	if (!skb_dst(skb_in) && nf_reject_fill_skb_dst(skb_in) < 0)
>  		return;
>  
>  	if (skb_csum_unnecessary(skb_in) ||
> diff --git a/net/ipv6/netfilter/nf_reject_ipv6.c b/net/ipv6/netfilter/nf_reject_ipv6.c
> index 838295fa32e3..cb2d38e80de9 100644
> --- a/net/ipv6/netfilter/nf_reject_ipv6.c
> +++ b/net/ipv6/netfilter/nf_reject_ipv6.c
> @@ -293,7 +293,7 @@ void nf_send_reset6(struct net *net, struct sock *sk, struct sk_buff *oldskb,
>  	fl6.fl6_sport = otcph->dest;
>  	fl6.fl6_dport = otcph->source;
>  
> -	if (hook == NF_INET_PRE_ROUTING || hook == NF_INET_INGRESS) {
> +	if (!skb_dst(oldskb)) {
>  		nf_ip6_route(net, &dst, flowi6_to_flowi(&fl6), false);
>  		if (!dst)
>  			return;
> @@ -397,8 +397,7 @@ void nf_send_unreach6(struct net *net, struct sk_buff *skb_in,
>  	if (hooknum == NF_INET_LOCAL_OUT && skb_in->dev == NULL)
>  		skb_in->dev = net->loopback_dev;
>  
> -	if ((hooknum == NF_INET_PRE_ROUTING || hooknum == NF_INET_INGRESS) &&
> -	    nf_reject6_fill_skb_dst(skb_in) < 0)
> +	if (!skb_dst(skb_in) && nf_reject6_fill_skb_dst(skb_in) < 0)
>  		return;
>  
>  	icmpv6_send(skb_in, ICMPV6_DEST_UNREACH, code, 0);
> -- 
> 2.49.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
  2025-08-20 12:37 [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets Florian Westphal
  2025-08-20 13:16 ` Pablo Neira Ayuso
@ 2025-08-20 13:16 ` Eric Dumazet
  2025-08-21 17:20 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 7+ messages in thread
From: Eric Dumazet @ 2025-08-20 13:16 UTC (permalink / raw)
  To: Florian Westphal
  Cc: netdev, Paolo Abeni, David S. Miller, Jakub Kicinski,
	netfilter-devel, pablo

On Wed, Aug 20, 2025 at 5:37 AM Florian Westphal <fw@strlen.de> wrote:
>
> 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: f53b9b0bdc59 ("netfilter: introduce support for reject at prerouting stage")
> Signed-off-by: Florian Westphal <fw@strlen.de>
> ---
>  Sending this instead of a pull request. the only other two
>  candidates for -net are still under review.
>
>  Let me know if you prefer a normal pull request even in this case.
>  Thanks!
>

Great, I was looking at an internal syzbot report with this exact issue.



WARNING: CPU: 1 PID: 5922 at ./include/linux/skbuff.h:1165
skb_dst_check_unset include/linux/skbuff.h:1164 [inline]
WARNING: CPU: 1 PID: 5922 at ./include/linux/skbuff.h:1165 skb_dst_set
include/linux/skbuff.h:1211 [inline]
WARNING: CPU: 1 PID: 5922 at ./include/linux/skbuff.h:1165
nf_reject6_fill_skb_dst net/ipv6/netfilter/nf_reject_ipv6.c:264
[inline]
WARNING: CPU: 1 PID: 5922 at ./include/linux/skbuff.h:1165
nf_send_unreach6+0x828/0xa20 net/ipv6/netfilter/nf_reject_ipv6.c:401
Modules linked in:
CPU: 1 UID: 0 PID: 5922 Comm: kworker/1:3 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine,
BIOS Google 07/12/2025
Workqueue: wg-crypt-wg0 wg_packet_tx_worker
RIP: 0010:skb_dst_check_unset include/linux/skbuff.h:1164 [inline]
RIP: 0010:skb_dst_set include/linux/skbuff.h:1211 [inline]
RIP: 0010:nf_reject6_fill_skb_dst
net/ipv6/netfilter/nf_reject_ipv6.c:264 [inline]
RIP: 0010:nf_send_unreach6+0x828/0xa20 net/ipv6/netfilter/nf_reject_ipv6.c:401
Code: 85 f6 74 0a e8 a9 6c 7a f7 e9 c8 fc ff ff e8 9f 6c 7a f7 4c 8b
7c 24 18 e9 34 fa ff ff e8 90 6c 7a f7 eb 9b e8 89 6c 7a f7 90 <0f> 0b
90 e9 c7 fb ff ff 48 85 db 0f 84 81 00 00 00 4c 8d a4 24 20
RSP: 0018:ffffc90000a083c0 EFLAGS: 00010246
RAX: ffffffff8a453fa7 RBX: ffff88802e6888c0 RCX: ffff88802fc3da00
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000a08568 R08: ffff888078550b83 R09: 1ffff1100f0aa170
R10: dffffc0000000000 R11: ffffed100f0aa171 R12: ffff888079bb4101
R13: dffffc0000000001 R14: 1ffff11005cd1123 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff888125d1b000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fd4758e56c0 CR3: 00000000776ca000 CR4: 00000000003526f0
Call Trace:
<IRQ>
nft_reject_inet_eval+0x441/0x690 net/netfilter/nft_reject_inet.c:44
expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline]
nft_do_chain+0x40c/0x1920 net/netfilter/nf_tables_core.c:285
nft_do_chain_inet+0x25d/0x340 net/netfilter/nft_chain_filter.c:161
nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
nf_hook_slow+0xc5/0x220 net/netfilter/core.c:623
nf_hook include/linux/netfilter.h:273 [inline]
NF_HOOK+0x206/0x3a0 include/linux/netfilter.h:316
__netif_receive_skb_one_core net/core/dev.c:5979 [inline]
__netif_receive_skb+0xd3/0x380 net/core/dev.c:6092
process_backlog+0x60e/0x14f0 net/core/dev.c:6444
__napi_poll+0xc7/0x360 net/core/dev.c:7494
napi_poll net/core/dev.c:7557 [inline]
net_rx_action+0x707/0xe30 net/core/dev.c:7684
handle_softirqs+0x283/0x870 kernel/softirq.c:579
do_softirq+0xec/0x180 kernel/softirq.c:480
</IRQ>
<TASK>
__local_bh_enable_ip+0x17d/0x1c0 kernel/softirq.c:407
wg_socket_send_skb_to_peer+0x16b/0x1d0 drivers/net/wireguard/socket.c:184
wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline]
wg_packet_tx_worker+0x1c8/0x7c0 drivers/net/wireguard/send.c:276
process_one_work kernel/workqueue.c:3236 [inline]
process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x711/0x8a0 kernel/kthread.c:463
ret_from_fork+0x3f9/0x770 arch/x86/kernel/process.c:148
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
  2025-08-20 13:16 ` Pablo Neira Ayuso
@ 2025-08-20 13:20   ` Pablo Neira Ayuso
  2025-08-20 14:04     ` Florian Westphal
  0 siblings, 1 reply; 7+ messages in thread
From: Pablo Neira Ayuso @ 2025-08-20 13:20 UTC (permalink / raw)
  To: Florian Westphal
  Cc: netdev, Paolo Abeni, David S. Miller, Eric Dumazet,
	Jakub Kicinski, netfilter-devel

On Wed, Aug 20, 2025 at 03:16:23PM +0200, Pablo Neira Ayuso wrote:
> Hi Florian,
> 
> On Wed, Aug 20, 2025 at 02:37:07PM +0200, Florian Westphal wrote:
> > 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.
> 
> Quick question: does inconditional route lookup work for br_netfilter?

Never mind, it should be fine, the fake dst get attached to the skb.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
  2025-08-20 13:20   ` Pablo Neira Ayuso
@ 2025-08-20 14:04     ` Florian Westphal
  2025-08-21 14:47       ` Jakub Kicinski
  0 siblings, 1 reply; 7+ messages in thread
From: Florian Westphal @ 2025-08-20 14:04 UTC (permalink / raw)
  To: Pablo Neira Ayuso
  Cc: netdev, Paolo Abeni, David S. Miller, Eric Dumazet,
	Jakub Kicinski, netfilter-devel

Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> > > Instead of checking hook just check if the skb already has a route
> > > attached to it.
> > 
> > Quick question: does inconditional route lookup work for br_netfilter?
> 
> Never mind, it should be fine, the fake dst get attached to the skb.

Good point, this changes behaviour for br_netfilter case, we no
longer call nf_reject_fill_skb_dst() then due to the fake dst.

I don't think br_netfilter is supposed to do anything (iptables
-j REJECT doesn't work in PRE_ROUTING), and we should not encourage
use of br_netfilter with nftables.

What about adding a followup patch, targetting nf, that adds:

if (hook == NF_INET_PRE_ROUTING && nf_bridge_info_exists(oldskb))
	return;

?

After all, there is no guarantee that we have the needed routing
info on a bridge in the first place.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
  2025-08-20 14:04     ` Florian Westphal
@ 2025-08-21 14:47       ` Jakub Kicinski
  0 siblings, 0 replies; 7+ messages in thread
From: Jakub Kicinski @ 2025-08-21 14:47 UTC (permalink / raw)
  To: Pablo Neira Ayuso
  Cc: Florian Westphal, netdev, Paolo Abeni, David S. Miller,
	Eric Dumazet, netfilter-devel

On Wed, 20 Aug 2025 16:04:47 +0200 Florian Westphal wrote:
> > > Quick question: does inconditional route lookup work for br_netfilter?  
> > 
> > Never mind, it should be fine, the fake dst get attached to the skb.  
> 
> Good point, this changes behaviour for br_netfilter case, we no
> longer call nf_reject_fill_skb_dst() then due to the fake dst.
> 
> I don't think br_netfilter is supposed to do anything (iptables
> -j REJECT doesn't work in PRE_ROUTING), and we should not encourage
> use of br_netfilter with nftables.
> 
> What about adding a followup patch, targetting nf, that adds:
> 
> if (hook == NF_INET_PRE_ROUTING && nf_bridge_info_exists(oldskb))
> 	return;
> 
> ?
> 
> After all, there is no guarantee that we have the needed routing
> info on a bridge in the first place.

Pablo, are you okay with that plan? Would be great to ship this to
Linus and therefore net-next today, given the checks recently added
there..

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets
  2025-08-20 12:37 [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets Florian Westphal
  2025-08-20 13:16 ` Pablo Neira Ayuso
  2025-08-20 13:16 ` Eric Dumazet
@ 2025-08-21 17:20 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-08-21 17:20 UTC (permalink / raw)
  To: Florian Westphal
  Cc: netdev, pabeni, davem, edumazet, kuba, netfilter-devel, pablo

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Wed, 20 Aug 2025 14:37:07 +0200 you wrote:
> 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]
>  ..
> 
> [...]

Here is the summary with links:
  - [net] netfilter: nf_reject: don't leak dst refcount for loopback packets
    https://git.kernel.org/netdev/net/c/91a79b792204

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-08-21 17:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-20 12:37 [PATCH net] netfilter: nf_reject: don't leak dst refcount for loopback packets Florian Westphal
2025-08-20 13:16 ` Pablo Neira Ayuso
2025-08-20 13:20   ` Pablo Neira Ayuso
2025-08-20 14:04     ` Florian Westphal
2025-08-21 14:47       ` Jakub Kicinski
2025-08-20 13:16 ` Eric Dumazet
2025-08-21 17:20 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).