[PATCH v4 net-next 0/3] net: skb: introduce kfree_skb_with_reason()

menglong8.dong@gmail.com posted 3 patches 4 years, 5 months ago
include/net/sock.h                      |   1 +
net/ipv4/af_inet.c                      |   2 +
net/ipv4/ping.c                         |   1 +
net/ipv4/tcp_ipv4.c                     |   1 +
net/ipv4/udp.c                          |   1 +
net/ipv6/af_inet6.c                     |   2 +
net/ipv6/ping.c                         |   1 +
net/ipv6/tcp_ipv6.c                     |   1 +
net/ipv6/udp.c                          |   1 +
tools/testing/selftests/bpf/test_sock.c | 370 ++++++++++++++----------
10 files changed, 233 insertions(+), 148 deletions(-)
[PATCH v4 net-next 0/3] net: skb: introduce kfree_skb_with_reason()
Posted by menglong8.dong@gmail.com 4 years, 5 months ago
From: Menglong Dong <imagedong@tencent.com>

In this series patch, the interface kfree_skb_with_reason() is
introduced(), which is used to collect skb drop reason, and pass
it to 'kfree_skb' tracepoint. Therefor, 'drop_monitor' or eBPF is
able to monitor abnormal skb with detail reason.

In fact, this series patches are out of the intelligence of David
and Steve, I'm just a truck man :/

Previous discussion is here:

https://lore.kernel.org/netdev/20211118105752.1d46e990@gandalf.local.home/
https://lore.kernel.org/netdev/67b36bd8-2477-88ac-83a0-35a1eeaf40c9@gmail.com/

In the first patch, kfree_skb_with_reason() is introduced and
the 'reason' field is added to 'kfree_skb' tracepoint. In the
second patch, 'kfree_skb()' in replaced with 'kfree_skb_with_reason()'
in tcp_v4_rcv(). In the third patch, 'kfree_skb_with_reason()' is
used in __udp4_lib_rcv().

Changes since v3:
- fix some code style problems in skb.h

Changes since v2:
- rename kfree_skb_with_reason() to kfree_skb_reason()
- make kfree_skb() static inline, as Jakub suggested

Changes since v1:
- rename some drop reason, as David suggested
- add the third patch


Menglong Dong (3):
  net: bpf: handle return value of 
    BPF_CGROUP_RUN_PROG_INET{4,6}_POST_BIND()
  bpf: selftests: use C99 initializers in test_sock.c
  bpf: selftests: add bind retry for post_bind{4, 6}

 include/net/sock.h                      |   1 +
 net/ipv4/af_inet.c                      |   2 +
 net/ipv4/ping.c                         |   1 +
 net/ipv4/tcp_ipv4.c                     |   1 +
 net/ipv4/udp.c                          |   1 +
 net/ipv6/af_inet6.c                     |   2 +
 net/ipv6/ping.c                         |   1 +
 net/ipv6/tcp_ipv6.c                     |   1 +
 net/ipv6/udp.c                          |   1 +
 tools/testing/selftests/bpf/test_sock.c | 370 ++++++++++++++----------
 10 files changed, 233 insertions(+), 148 deletions(-)

-- 
2.27.0

Re: [PATCH v4 net-next 0/3] net: skb: introduce kfree_skb_with_reason()
Posted by patchwork-bot+netdevbpf@kernel.org 4 years, 5 months ago
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Sun,  9 Jan 2022 14:36:25 +0800 you wrote:
> From: Menglong Dong <imagedong@tencent.com>
> 
> In this series patch, the interface kfree_skb_with_reason() is
> introduced(), which is used to collect skb drop reason, and pass
> it to 'kfree_skb' tracepoint. Therefor, 'drop_monitor' or eBPF is
> able to monitor abnormal skb with detail reason.
> 
> [...]

Here is the summary with links:
  - [v4,net-next,1/3] net: skb: introduce kfree_skb_reason()
    https://git.kernel.org/netdev/net-next/c/c504e5c2f964
  - [v4,net-next,2/3] net: skb: use kfree_skb_reason() in tcp_v4_rcv()
    https://git.kernel.org/netdev/net-next/c/85125597419a
  - [v4,net-next,3/3] net: skb: use kfree_skb_reason() in __udp4_lib_rcv()
    https://git.kernel.org/netdev/net-next/c/1c7fab70df08

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