mbox series

[bpf,v2,0/2] bpf, sockmap fixes

Message ID 161731427139.68884.1934993103507544474.stgit@john-XPS-13-9370 (mailing list archive)
Headers show
Series bpf, sockmap fixes | expand

Message

John Fastabend April 1, 2021, 9:59 p.m. UTC
This addresses an issue found while reviewing latest round of sock
map patches and an issue reported from CI via Andrii. After this
CI ./test_maps is stable for me.

The CI discovered issue was introduced by over correcting our
previously broken memory accounting. After the fix, "bpf, sockmap:
Avoid returning unneeded EAGAIN when redirecting to self" we fixed
a dropped packet and a missing fwd_alloc calculations, but pushed
it too far back into the packet pipeline creating an issue in the
unlikely case socket tear down happens with an enqueued skb. See
patch for details.

Tested with usual suspects: test_sockmap, test_maps, test_progs
and test_progs-no_alu32.

v2: drop skb_orphan its not necessary and use sk directly instead
    of using psock->sk both suggested by Cong

---

John Fastabend (2):
      bpf, sockmap: fix sk->prot unhash op reset
      bpf, sockmap: fix incorrect fwd_alloc accounting


 net/core/skmsg.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

--

Comments

patchwork-bot+netdevbpf@kernel.org April 6, 2021, 11:40 p.m. UTC | #1
Hello:

This series was applied to bpf/bpf.git (refs/heads/master):

On Thu, 01 Apr 2021 14:59:58 -0700 you wrote:
> This addresses an issue found while reviewing latest round of sock
> map patches and an issue reported from CI via Andrii. After this
> CI ./test_maps is stable for me.
> 
> The CI discovered issue was introduced by over correcting our
> previously broken memory accounting. After the fix, "bpf, sockmap:
> Avoid returning unneeded EAGAIN when redirecting to self" we fixed
> a dropped packet and a missing fwd_alloc calculations, but pushed
> it too far back into the packet pipeline creating an issue in the
> unlikely case socket tear down happens with an enqueued skb. See
> patch for details.
> 
> [...]

Here is the summary with links:
  - [bpf,v2,1/2] bpf, sockmap: fix sk->prot unhash op reset
    https://git.kernel.org/bpf/bpf/c/1c84b33101c8
  - [bpf,v2,2/2] bpf, sockmap: fix incorrect fwd_alloc accounting
    https://git.kernel.org/bpf/bpf/c/144748eb0c44

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Andrii Nakryiko May 5, 2021, 6:26 p.m. UTC | #2
On Thu, Apr 1, 2021 at 3:00 PM John Fastabend <john.fastabend@gmail.com> wrote:
>
> This addresses an issue found while reviewing latest round of sock
> map patches and an issue reported from CI via Andrii. After this
> CI ./test_maps is stable for me.
>
> The CI discovered issue was introduced by over correcting our
> previously broken memory accounting. After the fix, "bpf, sockmap:
> Avoid returning unneeded EAGAIN when redirecting to self" we fixed
> a dropped packet and a missing fwd_alloc calculations, but pushed
> it too far back into the packet pipeline creating an issue in the
> unlikely case socket tear down happens with an enqueued skb. See
> patch for details.
>
> Tested with usual suspects: test_sockmap, test_maps, test_progs
> and test_progs-no_alu32.
>
> v2: drop skb_orphan its not necessary and use sk directly instead
>     of using psock->sk both suggested by Cong
>
> ---

It might be that this didn't fix all the issues. We just got another
sockmap timeout in test_maps ([0]).

  [0] https://travis-ci.com/github/kernel-patches/bpf/builds/224971212

>
> John Fastabend (2):
>       bpf, sockmap: fix sk->prot unhash op reset
>       bpf, sockmap: fix incorrect fwd_alloc accounting
>
>
>  net/core/skmsg.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
>
> --
>