brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · 727d22e Raw
49 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <asm/unistd.h>3#include <linux/bpf.h>4#include <unistd.h>5 6#ifndef __NR_bpf7# if defined(__i386__)8#  define __NR_bpf 3579# elif defined(__x86_64__)10#  define __NR_bpf 32111# elif defined(__aarch64__)12#  define __NR_bpf 28013# elif defined(__sparc__)14#  define __NR_bpf 34915# elif defined(__s390__)16#  define __NR_bpf 35117# elif defined(__mips__) && defined(_ABIO32)18#  define __NR_bpf 435519# elif defined(__mips__) && defined(_ABIN32)20#  define __NR_bpf 631921# elif defined(__mips__) && defined(_ABI64)22#  define __NR_bpf 531523# else24#  error __NR_bpf not defined. libbpf does not support your arch.25# endif26#endif27 28int main(void)29{30	union bpf_attr attr;31 32	/* Check fields in attr */33	attr.prog_type = BPF_PROG_TYPE_KPROBE;34	attr.insn_cnt = 0;35	attr.insns = 0;36	attr.license = 0;37	attr.log_buf = 0;38	attr.log_size = 0;39	attr.log_level = 0;40	attr.kern_version = 0;41	attr.prog_flags = 0;42 43	/*44	 * Test existence of __NR_bpf and BPF_PROG_LOAD.45	 * This call should fail if we run the testcase.46	 */47	return syscall(__NR_bpf, BPF_PROG_LOAD, &attr, sizeof(attr));48}49