Skip to content

Commit dff30fe

Browse files
committed
net: raw: use sk_skb_reason_drop to free rx packets
JIRA: https://issues.redhat.com/browse/RHEL-48648 Upstream Status: net-next.git commit ce9a242 Author: Yan Zhai <yan@cloudflare.com> Date: Mon Jun 17 11:09:16 2024 -0700 net: raw: 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. 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 fed5ea2 commit dff30fe

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

net/ipv4/raw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ static int raw_rcv_skb(struct sock *sk, struct sk_buff *skb)
292292

293293
ipv4_pktinfo_prepare(sk, skb);
294294
if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) {
295-
kfree_skb_reason(skb, reason);
295+
sk_skb_reason_drop(sk, skb, reason);
296296
return NET_RX_DROP;
297297
}
298298

@@ -303,7 +303,7 @@ int raw_rcv(struct sock *sk, struct sk_buff *skb)
303303
{
304304
if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) {
305305
atomic_inc(&sk->sk_drops);
306-
kfree_skb_reason(skb, SKB_DROP_REASON_XFRM_POLICY);
306+
sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_XFRM_POLICY);
307307
return NET_RX_DROP;
308308
}
309309
nf_reset_ct(skb);

net/ipv6/raw.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,14 +358,14 @@ static inline int rawv6_rcv_skb(struct sock *sk, struct sk_buff *skb)
358358
if ((raw6_sk(sk)->checksum || rcu_access_pointer(sk->sk_filter)) &&
359359
skb_checksum_complete(skb)) {
360360
atomic_inc(&sk->sk_drops);
361-
kfree_skb_reason(skb, SKB_DROP_REASON_SKB_CSUM);
361+
sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_SKB_CSUM);
362362
return NET_RX_DROP;
363363
}
364364

365365
/* Charge it to the socket. */
366366
skb_dst_drop(skb);
367367
if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) {
368-
kfree_skb_reason(skb, reason);
368+
sk_skb_reason_drop(sk, skb, reason);
369369
return NET_RX_DROP;
370370
}
371371

@@ -386,7 +386,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
386386

387387
if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) {
388388
atomic_inc(&sk->sk_drops);
389-
kfree_skb_reason(skb, SKB_DROP_REASON_XFRM_POLICY);
389+
sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_XFRM_POLICY);
390390
return NET_RX_DROP;
391391
}
392392

@@ -410,7 +410,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
410410
if (inet->hdrincl) {
411411
if (skb_checksum_complete(skb)) {
412412
atomic_inc(&sk->sk_drops);
413-
kfree_skb_reason(skb, SKB_DROP_REASON_SKB_CSUM);
413+
sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_SKB_CSUM);
414414
return NET_RX_DROP;
415415
}
416416
}

0 commit comments

Comments
 (0)