mbox series

[bpf-next,v2,0/3] Make 2-byte access to bpf_sk_lookup->remote_port endian-agnostic

Message ID 20220319183356.233666-1-jakub@cloudflare.com (mailing list archive)
Headers show
Series Make 2-byte access to bpf_sk_lookup->remote_port endian-agnostic | expand

Message

Jakub Sitnicki March 19, 2022, 6:33 p.m. UTC
This patch set is a result of a discussion we had around the RFC patchset from
Ilya [1]. The fix for the narrow loads from the RFC series is still relevant,
but this series does not depend on it. Nor is it required to unbreak sk_lookup
tests on BE, if this series gets applied.

To summarize the takeaways from [1]:

 1) we want to make 2-byte load from ctx->remote_port portable across LE and BE,
 2) we keep the 4-byte load from ctx->remote_port as it is today - result varies
    on endianess of the platform.

[1] https://lore.kernel.org/bpf/20220222182559.2865596-2-iii@linux.ibm.com/

v1 -> v2:
- Remove needless check that 4-byte load is from &ctx->remote_port offset
  (Martin)

[v1]: https://lore.kernel.org/bpf/20220317165826.1099418-1-jakub@cloudflare.com/

Jakub Sitnicki (3):
  bpf: Treat bpf_sk_lookup remote_port as a 2-byte field
  selftests/bpf: Fix u8 narrow load checks for bpf_sk_lookup remote_port
  selftests/bpf: Fix test for 4-byte load from remote_port on big-endian

 net/core/filter.c                             | 20 +++++++++++++++++--
 .../selftests/bpf/progs/test_sk_lookup.c      | 13 ++++++++----
 2 files changed, 27 insertions(+), 6 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org March 21, 2022, 2:10 a.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Sat, 19 Mar 2022 19:33:53 +0100 you wrote:
> This patch set is a result of a discussion we had around the RFC patchset from
> Ilya [1]. The fix for the narrow loads from the RFC series is still relevant,
> but this series does not depend on it. Nor is it required to unbreak sk_lookup
> tests on BE, if this series gets applied.
> 
> To summarize the takeaways from [1]:
> 
> [...]

Here is the summary with links:
  - [bpf-next,v2,1/3] bpf: Treat bpf_sk_lookup remote_port as a 2-byte field
    https://git.kernel.org/bpf/bpf-next/c/058ec4a7d9cf
  - [bpf-next,v2,2/3] selftests/bpf: Fix u8 narrow load checks for bpf_sk_lookup remote_port
    https://git.kernel.org/bpf/bpf-next/c/3c69611b8926
  - [bpf-next,v2,3/3] selftests/bpf: Fix test for 4-byte load from remote_port on big-endian
    https://git.kernel.org/bpf/bpf-next/c/ce5236800116

You are awesome, thank you!