1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 28f9e05fbSWang Nan #include <asm/unistd.h> 31b76c13eSWang Nan #include <linux/bpf.h> 48f9e05fbSWang Nan #include <unistd.h> 58f9e05fbSWang Nan 68f9e05fbSWang Nan #ifndef __NR_bpf 78f9e05fbSWang Nan # if defined(__i386__) 88f9e05fbSWang Nan # define __NR_bpf 357 98f9e05fbSWang Nan # elif defined(__x86_64__) 108f9e05fbSWang Nan # define __NR_bpf 321 118f9e05fbSWang Nan # elif defined(__aarch64__) 128f9e05fbSWang Nan # define __NR_bpf 280 13b0c47807SDavid S. Miller # elif defined(__sparc__) 14b0c47807SDavid S. Miller # define __NR_bpf 349 15bad1926dSDaniel Borkmann # elif defined(__s390__) 16bad1926dSDaniel Borkmann # define __NR_bpf 351 17*e32cb12fSTiezhu Yang # elif defined(__mips__) && defined(_ABIO32) 18*e32cb12fSTiezhu Yang # define __NR_bpf 4355 19*e32cb12fSTiezhu Yang # elif defined(__mips__) && defined(_ABIN32) 20*e32cb12fSTiezhu Yang # define __NR_bpf 6319 21*e32cb12fSTiezhu Yang # elif defined(__mips__) && defined(_ABI64) 22*e32cb12fSTiezhu Yang # define __NR_bpf 5315 23b0c47807SDavid S. Miller # else 248f9e05fbSWang Nan # error __NR_bpf not defined. libbpf does not support your arch. 258f9e05fbSWang Nan # endif 268f9e05fbSWang Nan #endif 271b76c13eSWang Nan main(void)281b76c13eSWang Nanint main(void) 291b76c13eSWang Nan { 301b76c13eSWang Nan union bpf_attr attr; 311b76c13eSWang Nan 328f9e05fbSWang Nan /* Check fields in attr */ 331b76c13eSWang Nan attr.prog_type = BPF_PROG_TYPE_KPROBE; 341b76c13eSWang Nan attr.insn_cnt = 0; 351b76c13eSWang Nan attr.insns = 0; 361b76c13eSWang Nan attr.license = 0; 371b76c13eSWang Nan attr.log_buf = 0; 381b76c13eSWang Nan attr.log_size = 0; 391b76c13eSWang Nan attr.log_level = 0; 401b76c13eSWang Nan attr.kern_version = 0; 41e07b98d9SDavid S. Miller attr.prog_flags = 0; 421b76c13eSWang Nan 438f9e05fbSWang Nan /* 448f9e05fbSWang Nan * Test existence of __NR_bpf and BPF_PROG_LOAD. 458f9e05fbSWang Nan * This call should fail if we run the testcase. 468f9e05fbSWang Nan */ 471a71476eSFlorian Fainelli return syscall(__NR_bpf, BPF_PROG_LOAD, &attr, sizeof(attr)); 481b76c13eSWang Nan } 49