From 7759cc92c07c86272bdc91c18e66646920bde0f6 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 3 Oct 2024 10:46:27 +0200 Subject: [PATCH] nsresourced: Fix declaration of bpf_rdonly_cast() Fixes compilation error """ [780/3171] /usr/bin/clang -std=gnu11 -Wno-compare-distinct-pointer-types -fno-stack-protector -O2 -target bpf -g -c -D__aarch64__ -I. -isystem /usr/include/ -idirafter /usr/include ../src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c -o src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.unstripped.o -I/usr/src/kernels/6.11.1-0.hs1.hs+fb.el9.aarch64 FAILED: src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.unstripped.o /usr/bin/clang -std=gnu11 -Wno-compare-distinct-pointer-types -fno-stack-protector -O2 -target bpf -g -c -D__aarch64__ -I. -isystem /usr/include/ -idirafter /usr/include ../src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c -o src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.unstripped.o -I/usr/src/kernels/6.11.1-0.hs1.hs+fb.el9.aarch64 ../src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c:27:7: error: conflicting types for 'bpf_rdonly_cast' 27 | void *bpf_rdonly_cast(void *, __u32) __ksym; | ^ /usr/src/kernels/6.11.1-0.hs1.hs+fb.el9.aarch64/vmlinux.h:143063:14: note: previous declaration is here 143063 | extern void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym; | ^ 1 error generated. """ --- src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c b/src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c index 126422bb69cc1..0ff41a138bee9 100644 --- a/src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c +++ b/src/nsresourced/bpf/userns_restrict/userns-restrict.bpf.c @@ -24,7 +24,7 @@ /* bpf_rdonly_cast() was introduced in libbpf commit 688879f together with * the definition of a bpf_core_cast macro. So use that one to avoid * defining a prototype for bpf_rdonly_cast */ -void *bpf_rdonly_cast(void *, __u32) __ksym; +void* bpf_rdonly_cast(const void *, __u32) __ksym; #endif /* BPF module that implements an allowlist of mounts (identified by mount ID) for user namespaces (identified