Skip to content

Commit 651f9c3

Browse files
committed
af_packet: use sk_skb_reason_drop to free rx packets
JIRA: https://issues.redhat.com/browse/RHEL-48648 Upstream Status: net-next.git commit e2e7d78 Author: Yan Zhai <yan@cloudflare.com> Date: Mon Jun 17 11:09:27 2024 -0700 af_packet: use sk_skb_reason_drop to free rx packets Replace kfree_skb_reason with sk_skb_reason_drop and pass the receiving socket to the tracepoint. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/r/202406011859.Aacus8GV-lkp@intel.com/ Signed-off-by: Yan Zhai <yan@cloudflare.com> Acked-by: Jesper Dangaard Brouer <hawk@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Antoine Tenart <atenart@redhat.com>
1 parent 32669d8 commit 651f9c3

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

net/packet/af_packet.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2088,7 +2088,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
20882088
struct packet_type *pt, struct net_device *orig_dev)
20892089
{
20902090
enum skb_drop_reason drop_reason = SKB_CONSUMED;
2091-
struct sock *sk;
2091+
struct sock *sk = NULL;
20922092
struct sockaddr_ll *sll;
20932093
struct packet_sock *po;
20942094
u8 *skb_head = skb->data;
@@ -2193,15 +2193,15 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
21932193
skb->len = skb_len;
21942194
}
21952195
drop:
2196-
kfree_skb_reason(skb, drop_reason);
2196+
sk_skb_reason_drop(sk, skb, drop_reason);
21972197
return 0;
21982198
}
21992199

22002200
static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
22012201
struct packet_type *pt, struct net_device *orig_dev)
22022202
{
22032203
enum skb_drop_reason drop_reason = SKB_CONSUMED;
2204-
struct sock *sk;
2204+
struct sock *sk = NULL;
22052205
struct packet_sock *po;
22062206
struct sockaddr_ll *sll;
22072207
union tpacket_uhdr h;
@@ -2462,7 +2462,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
24622462
skb->len = skb_len;
24632463
}
24642464
drop:
2465-
kfree_skb_reason(skb, drop_reason);
2465+
sk_skb_reason_drop(sk, skb, drop_reason);
24662466
return 0;
24672467

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

24732473
sk->sk_data_ready(sk);
2474-
kfree_skb_reason(copy_skb, drop_reason);
2474+
sk_skb_reason_drop(sk, copy_skb, drop_reason);
24752475
goto drop_n_restore;
24762476
}
24772477

0 commit comments

Comments
 (0)