Commit f122a08b197d ("capability: just use a 'u64' instead of a 'u32[2]' array") attempts to use BIT_LL() but actually wanted to use BIT_ULL(), fix it up to make the test compile and run again.
Fixes: f122a08b197d ("capability: just use a 'u64' instead of a 'u32[2]' array") Signed-off-by: Sasha Levin sashal@kernel.org --- tools/testing/selftests/bpf/Makefile | 2 +- tools/testing/selftests/bpf/progs/test_deny_namespace.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index b677dcd0b77af..91a4e61b61f6d 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -353,7 +353,7 @@ endif CLANG_SYS_INCLUDES = $(call get_sys_includes,$(CLANG),$(CLANG_TARGET_ARCH)) BPF_CFLAGS = -g -Werror -D__TARGET_ARCH_$(SRCARCH) $(MENDIAN) \ -I$(INCLUDE_DIR) -I$(CURDIR) -I$(APIDIR) \ - -I$(abspath $(OUTPUT)/../usr/include) + -I$(abspath $(OUTPUT)/../usr/include) -I$(TOOLSINCDIR)
CLANG_CFLAGS = $(CLANG_SYS_INCLUDES) \ -Wno-compare-distinct-pointer-types diff --git a/tools/testing/selftests/bpf/progs/test_deny_namespace.c b/tools/testing/selftests/bpf/progs/test_deny_namespace.c index 591104e79812e..0a619c34d692d 100644 --- a/tools/testing/selftests/bpf/progs/test_deny_namespace.c +++ b/tools/testing/selftests/bpf/progs/test_deny_namespace.c @@ -4,6 +4,7 @@ #include <bpf/bpf_tracing.h> #include <errno.h> #include <linux/capability.h> +#include <vdso/bits.h>
struct kernel_cap_struct { __u64 val; @@ -19,7 +20,7 @@ SEC("lsm.s/userns_create") int BPF_PROG(test_userns_create, const struct cred *cred, int ret) { struct kernel_cap_struct caps = cred->cap_effective; - __u64 cap_mask = BIT_LL(CAP_SYS_ADMIN); + __u64 cap_mask = BIT_ULL(CAP_SYS_ADMIN);
if (ret) return 0;
On Fri, Mar 24, 2023 at 5:36 AM Sasha Levin sashal@kernel.org wrote:
Commit f122a08b197d ("capability: just use a 'u64' instead of a 'u32[2]' array") attempts to use BIT_LL() but actually wanted to use BIT_ULL(), fix it up to make the test compile and run again.
This got fixed differently by e8c8361cfdbf ("selftests/bpf: Fix progs/test_deny_namespace.c issues").
I wonder what drugs made me think BIT_LL() was ok. Maybe my wife puts something in the coffee?
Linus
On Fri, Mar 24, 2023 at 9:49 AM Linus Torvalds torvalds@linux-foundation.org wrote:
On Fri, Mar 24, 2023 at 5:36 AM Sasha Levin sashal@kernel.org wrote:
Commit f122a08b197d ("capability: just use a 'u64' instead of a 'u32[2]' array") attempts to use BIT_LL() but actually wanted to use BIT_ULL(), fix it up to make the test compile and run again.
It would only fix the compilation error, but the test would still fail.
This got fixed differently by e8c8361cfdbf ("selftests/bpf: Fix progs/test_deny_namespace.c issues").
exactly. It's not just the macro that had to be adjusted.
I wonder what drugs made me think BIT_LL() was ok. Maybe my wife puts something in the coffee?
$ make C=2 kernel/bpf/core.o kernel/bpf/core.c:1822:43: error: arithmetics on pointers to functions kernel/bpf/core.c:1827:48: error: arithmetics on pointers to functions kernel/bpf/core.c:2073:77: error: subtraction of functions? Share your drugs
:)
linux-kselftest-mirror@lists.linaro.org