[RFC net-next 6/6] af_packet: pass rx socket on rcv drops

From: Yan Zhai
Date: Thu May 30 2024 - 17:49:22 EST


Use kfree_skb_for_sk call to pass on the rx socket

Signed-off-by: Yan Zhai <yan@xxxxxxxxxxxxxx>
---
net/packet/af_packet.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index fce390887591..30a6447b4fc4 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2226,7 +2226,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
skb->len = skb_len;
}
drop:
- kfree_skb_reason(skb, drop_reason);
+ kfree_skb_for_sk(skb, sk, drop_reason);
return 0;
}

@@ -2494,7 +2494,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
skb->len = skb_len;
}
drop:
- kfree_skb_reason(skb, drop_reason);
+ kfree_skb_for_sk(skb, sk, drop_reason);
return 0;

drop_n_account:
@@ -2503,7 +2503,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
drop_reason = SKB_DROP_REASON_PACKET_SOCK_ERROR;

sk->sk_data_ready(sk);
- kfree_skb_reason(copy_skb, drop_reason);
+ kfree_skb_for_sk(copy_skb, sk, drop_reason);
goto drop_n_restore;
}

--
2.30.2