]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/bpf: Fix sk_bypass_prot_mem failure with 64K page
authorYonghong Song <yonghong.song@linux.dev>
Tue, 13 Jan 2026 06:10:28 +0000 (22:10 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 13 Jan 2026 17:32:16 +0000 (09:32 -0800)
The current selftest sk_bypass_prot_mem only supports 4K page.
When running with 64K page on arm64, the following failure happens:
  ...
  check_bypass:FAIL:no bypass unexpected no bypass: actual 3 <= expected 32
  ...
  #385/1   sk_bypass_prot_mem/TCP  :FAIL
  ...
  check_bypass:FAIL:no bypass unexpected no bypass: actual 4 <= expected 32
  ...
  #385/2   sk_bypass_prot_mem/UDP  :FAIL
  ...

Adding support to 64K page as well fixed the failure.

Cc: Kuniyuki Iwashima <kuniyu@google.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20260113061028.3798326-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/sk_bypass_prot_mem.c

index e4940583924b1ea407863830eb1663d002bf58a3..e2c867fd524471d5a64696006a925cdde7a2f5bc 100644 (file)
@@ -5,9 +5,14 @@
 #include "sk_bypass_prot_mem.skel.h"
 #include "network_helpers.h"
 
+#ifndef PAGE_SIZE
+#include <unistd.h>
+#define PAGE_SIZE getpagesize()
+#endif
+
 #define NR_PAGES       32
 #define NR_SOCKETS     2
-#define BUF_TOTAL      (NR_PAGES * 4096 / NR_SOCKETS)
+#define BUF_TOTAL      (NR_PAGES * PAGE_SIZE / NR_SOCKETS)
 #define BUF_SINGLE     1024
 #define NR_SEND                (BUF_TOTAL / BUF_SINGLE)