Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.17 162 lines 3.4 kB view raw
1// SPDX-License-Identifier: GPL-2.0 2 3#include <linux/bpf.h> 4#include <bpf/bpf_helpers.h> 5#include "bpf_misc.h" 6 7SEC("lsm/file_alloc_security") 8__description("lsm bpf prog with -4095~0 retval. test 1") 9__success 10__naked int errno_zero_retval_test1(void *ctx) 11{ 12 asm volatile ( 13 "r0 = 0;" 14 "exit;" 15 ::: __clobber_all); 16} 17 18SEC("lsm/file_alloc_security") 19__description("lsm bpf prog with -4095~0 retval. test 2") 20__success 21__naked int errno_zero_retval_test2(void *ctx) 22{ 23 asm volatile ( 24 "r0 = -4095;" 25 "exit;" 26 ::: __clobber_all); 27} 28 29SEC("lsm/file_mprotect") 30__description("lsm bpf prog with -4095~0 retval. test 4") 31__failure __msg("R0 has smin=-4096 smax=-4096 should have been in [-4095, 0]") 32__naked int errno_zero_retval_test4(void *ctx) 33{ 34 asm volatile ( 35 "r0 = -4096;" 36 "exit;" 37 ::: __clobber_all); 38} 39 40SEC("lsm/file_mprotect") 41__description("lsm bpf prog with -4095~0 retval. test 5") 42__failure __msg("R0 has smin=4096 smax=4096 should have been in [-4095, 0]") 43__naked int errno_zero_retval_test5(void *ctx) 44{ 45 asm volatile ( 46 "r0 = 4096;" 47 "exit;" 48 ::: __clobber_all); 49} 50 51SEC("lsm/file_mprotect") 52__description("lsm bpf prog with -4095~0 retval. test 6") 53__failure __msg("R0 has smin=1 smax=1 should have been in [-4095, 0]") 54__naked int errno_zero_retval_test6(void *ctx) 55{ 56 asm volatile ( 57 "r0 = 1;" 58 "exit;" 59 ::: __clobber_all); 60} 61 62SEC("lsm/audit_rule_known") 63__description("lsm bpf prog with bool retval. test 1") 64__success 65__naked int bool_retval_test1(void *ctx) 66{ 67 asm volatile ( 68 "r0 = 1;" 69 "exit;" 70 ::: __clobber_all); 71} 72 73SEC("lsm/audit_rule_known") 74__description("lsm bpf prog with bool retval. test 2") 75__success 76__success 77__naked int bool_retval_test2(void *ctx) 78{ 79 asm volatile ( 80 "r0 = 0;" 81 "exit;" 82 ::: __clobber_all); 83} 84 85SEC("lsm/audit_rule_known") 86__description("lsm bpf prog with bool retval. test 3") 87__failure __msg("R0 has smin=-1 smax=-1 should have been in [0, 1]") 88__naked int bool_retval_test3(void *ctx) 89{ 90 asm volatile ( 91 "r0 = -1;" 92 "exit;" 93 ::: __clobber_all); 94} 95 96SEC("lsm/audit_rule_known") 97__description("lsm bpf prog with bool retval. test 4") 98__failure __msg("R0 has smin=2 smax=2 should have been in [0, 1]") 99__naked int bool_retval_test4(void *ctx) 100{ 101 asm volatile ( 102 "r0 = 2;" 103 "exit;" 104 ::: __clobber_all); 105} 106 107SEC("lsm/file_free_security") 108__success 109__description("lsm bpf prog with void retval. test 1") 110__naked int void_retval_test1(void *ctx) 111{ 112 asm volatile ( 113 "r0 = -4096;" 114 "exit;" 115 ::: __clobber_all); 116} 117 118SEC("lsm/file_free_security") 119__success 120__description("lsm bpf prog with void retval. test 2") 121__naked int void_retval_test2(void *ctx) 122{ 123 asm volatile ( 124 "r0 = 4096;" 125 "exit;" 126 ::: __clobber_all); 127} 128 129SEC("lsm/getprocattr") 130__description("lsm disabled hook: getprocattr") 131__failure __msg("points to disabled hook") 132__naked int disabled_hook_test1(void *ctx) 133{ 134 asm volatile ( 135 "r0 = 0;" 136 "exit;" 137 ::: __clobber_all); 138} 139 140SEC("lsm/setprocattr") 141__description("lsm disabled hook: setprocattr") 142__failure __msg("points to disabled hook") 143__naked int disabled_hook_test2(void *ctx) 144{ 145 asm volatile ( 146 "r0 = 0;" 147 "exit;" 148 ::: __clobber_all); 149} 150 151SEC("lsm/ismaclabel") 152__description("lsm disabled hook: ismaclabel") 153__failure __msg("points to disabled hook") 154__naked int disabled_hook_test3(void *ctx) 155{ 156 asm volatile ( 157 "r0 = 0;" 158 "exit;" 159 ::: __clobber_all); 160} 161 162char _license[] SEC("license") = "GPL";