1 // SPDX-License-Identifier: GPL-2.0
2 /* Converted from tools/testing/selftests/bpf/verifier/const_or.c */
5 #include <bpf/bpf_helpers.h>
9 __description("constant register |= constant should keep constant type")
11 __naked void constant_should_keep_constant_type(void)
19 call %[bpf_probe_read_kernel]; \
22 : __imm(bpf_probe_read_kernel)
27 __description("constant register |= constant should not bypass stack boundary checks")
28 __failure __msg("invalid indirect access to stack R1 off=-48 size=58")
29 __naked void not_bypass_stack_boundary_checks_1(void)
37 call %[bpf_probe_read_kernel]; \
40 : __imm(bpf_probe_read_kernel)
45 __description("constant register |= constant register should keep constant type")
47 __naked void register_should_keep_constant_type(void)
56 call %[bpf_probe_read_kernel]; \
59 : __imm(bpf_probe_read_kernel)
64 __description("constant register |= constant register should not bypass stack boundary checks")
65 __failure __msg("invalid indirect access to stack R1 off=-48 size=58")
66 __naked void not_bypass_stack_boundary_checks_2(void)
75 call %[bpf_probe_read_kernel]; \
78 : __imm(bpf_probe_read_kernel)
82 char _license[] SEC("license") = "GPL";