diff mbox series

[bpf-next] samples/bpf: Set -fno-stack-protector when building BPF programs

Message ID 20191216103819.359535-1-toke@redhat.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf-next] samples/bpf: Set -fno-stack-protector when building BPF programs | expand

Commit Message

Toke Høiland-Jørgensen Dec. 16, 2019, 10:38 a.m. UTC
It seems Clang can in some cases turn on stack protection by default, which
doesn't work with BPF. This was reported once before[0], but it seems the
flag to explicitly turn off the stack protector wasn't added to the
Makefile, so do that now.

The symptom of this is compile errors like the following:

error: <unknown>:0:0: in function bpf_prog1 i32 (%struct.__sk_buff*): A call to built-in function '__stack_chk_fail' is not supported.

[0] https://www.spinics.net/lists/netdev/msg556400.html

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
---
 samples/bpf/Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Alexei Starovoitov Dec. 16, 2019, 3:04 p.m. UTC | #1
On Mon, Dec 16, 2019 at 2:38 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>
> It seems Clang can in some cases turn on stack protection by default, which
> doesn't work with BPF. This was reported once before[0], but it seems the
> flag to explicitly turn off the stack protector wasn't added to the
> Makefile, so do that now.
>
> The symptom of this is compile errors like the following:
>
> error: <unknown>:0:0: in function bpf_prog1 i32 (%struct.__sk_buff*): A call to built-in function '__stack_chk_fail' is not supported.
>
> [0] https://www.spinics.net/lists/netdev/msg556400.html
>
> Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>

Applied. Thanks
diff mbox series

Patch

diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index b00651608765..f51804ef12c3 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -234,6 +234,7 @@  BTF_LLVM_PROBE := $(shell echo "int main() { return 0; }" | \
 			  readelf -S ./llvm_btf_verify.o | grep BTF; \
 			  /bin/rm -f ./llvm_btf_verify.o)
 
+BPF_EXTRA_CFLAGS += -fno-stack-protector
 ifneq ($(BTF_LLVM_PROBE),)
 	BPF_EXTRA_CFLAGS += -g
 else