mbox series

[v2,net-next,0/5] inet: add drop monitor support

Message ID 20221029154520.2747444-1-edumazet@google.com (mailing list archive)
Headers show
Series inet: add drop monitor support | expand

Message

Eric Dumazet Oct. 29, 2022, 3:45 p.m. UTC
I recently tried to analyse flakes in ip_defrag selftest.
This failed miserably.

IPv4 and IPv6 reassembly units are causing false kfree_skb()
notifications. It is time to deal with this issue.

First two patches are changing core networking to better
deal with eventual skb frag_list chains, in respect
of kfree_skb/consume_skb status.

Last three patches are adding three new drop reasons,
and make sure skbs that have been reassembled into
a large datagram are no longer viewed as dropped ones.

After this, understanding why ip_defrag selftest is flaky
is possible using standard drop monitoring tools.

v2: fix kdoc warning (Jakub)

Eric Dumazet (5):
  net: dropreason: add SKB_CONSUMED reason
  net: dropreason: propagate drop_reason to skb_release_data()
  net: dropreason: add SKB_DROP_REASON_DUP_FRAG
  net: dropreason: add SKB_DROP_REASON_FRAG_REASM_TIMEOUT
  net: dropreason: add SKB_DROP_REASON_FRAG_TOO_FAR

 include/net/dropreason.h                | 14 ++++++++++++
 include/net/inet_frag.h                 |  6 ++++-
 include/net/ipv6_frag.h                 |  3 ++-
 net/core/skbuff.c                       | 30 ++++++++++++++-----------
 net/ipv4/inet_fragment.c                | 14 ++++++++----
 net/ipv4/ip_fragment.c                  | 19 +++++++++++-----
 net/ipv6/netfilter/nf_conntrack_reasm.c |  2 +-
 net/ipv6/reassembly.c                   | 13 +++++++----
 8 files changed, 71 insertions(+), 30 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 1, 2022, 5:30 a.m. UTC | #1
Hello:

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

On Sat, 29 Oct 2022 15:45:15 +0000 you wrote:
> I recently tried to analyse flakes in ip_defrag selftest.
> This failed miserably.
> 
> IPv4 and IPv6 reassembly units are causing false kfree_skb()
> notifications. It is time to deal with this issue.
> 
> First two patches are changing core networking to better
> deal with eventual skb frag_list chains, in respect
> of kfree_skb/consume_skb status.
> 
> [...]

Here is the summary with links:
  - [v2,net-next,1/5] net: dropreason: add SKB_CONSUMED reason
    https://git.kernel.org/netdev/net-next/c/0e84afe8ebfb
  - [v2,net-next,2/5] net: dropreason: propagate drop_reason to skb_release_data()
    https://git.kernel.org/netdev/net-next/c/511a3eda2f8d
  - [v2,net-next,3/5] net: dropreason: add SKB_DROP_REASON_DUP_FRAG
    https://git.kernel.org/netdev/net-next/c/4ecbb1c27c36
  - [v2,net-next,4/5] net: dropreason: add SKB_DROP_REASON_FRAG_REASM_TIMEOUT
    https://git.kernel.org/netdev/net-next/c/77adfd3a1d44
  - [v2,net-next,5/5] net: dropreason: add SKB_DROP_REASON_FRAG_TOO_FAR
    https://git.kernel.org/netdev/net-next/c/3bdfb04f13eb

You are awesome, thank you!