Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Yan Zhai and committed by
David S. Miller
ce9a2424 7467de17

+6 -6
+2 -2
net/ipv4/raw.c
··· 301 301 302 302 ipv4_pktinfo_prepare(sk, skb, true); 303 303 if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) { 304 - kfree_skb_reason(skb, reason); 304 + sk_skb_reason_drop(sk, skb, reason); 305 305 return NET_RX_DROP; 306 306 } 307 307 ··· 312 312 { 313 313 if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) { 314 314 atomic_inc(&sk->sk_drops); 315 - kfree_skb_reason(skb, SKB_DROP_REASON_XFRM_POLICY); 315 + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_XFRM_POLICY); 316 316 return NET_RX_DROP; 317 317 } 318 318 nf_reset_ct(skb);
+4 -4
net/ipv6/raw.c
··· 362 362 if ((raw6_sk(sk)->checksum || rcu_access_pointer(sk->sk_filter)) && 363 363 skb_checksum_complete(skb)) { 364 364 atomic_inc(&sk->sk_drops); 365 - kfree_skb_reason(skb, SKB_DROP_REASON_SKB_CSUM); 365 + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_SKB_CSUM); 366 366 return NET_RX_DROP; 367 367 } 368 368 369 369 /* Charge it to the socket. */ 370 370 skb_dst_drop(skb); 371 371 if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) { 372 - kfree_skb_reason(skb, reason); 372 + sk_skb_reason_drop(sk, skb, reason); 373 373 return NET_RX_DROP; 374 374 } 375 375 ··· 390 390 391 391 if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) { 392 392 atomic_inc(&sk->sk_drops); 393 - kfree_skb_reason(skb, SKB_DROP_REASON_XFRM_POLICY); 393 + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_XFRM_POLICY); 394 394 return NET_RX_DROP; 395 395 } 396 396 nf_reset_ct(skb); ··· 415 415 if (inet_test_bit(HDRINCL, sk)) { 416 416 if (skb_checksum_complete(skb)) { 417 417 atomic_inc(&sk->sk_drops); 418 - kfree_skb_reason(skb, SKB_DROP_REASON_SKB_CSUM); 418 + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_SKB_CSUM); 419 419 return NET_RX_DROP; 420 420 } 421 421 }