354    i386    seccomp                 sys_seccomp
 355    i386    getrandom               sys_getrandom
 356    i386    memfd_create            sys_memfd_create
+357    i386    bpf                     sys_bpf
 
 318    common  getrandom               sys_getrandom
 319    common  memfd_create            sys_memfd_create
 320    common  kexec_file_load         sys_kexec_file_load
+321    common  bpf                     sys_bpf
 
 #
 # x32-specific system call numbers start at 512 to avoid cache impact
 
 struct perf_event_attr;
 struct file_handle;
 struct sigaltstack;
+union bpf_attr;
 
 #include <linux/types.h>
 #include <linux/aio_abi.h>
                            const char __user *uargs);
 asmlinkage long sys_getrandom(char __user *buf, size_t count,
                              unsigned int flags);
-
+asmlinkage long sys_bpf(int cmd, union bpf_attr *attr, unsigned int size);
 #endif
 
 __SYSCALL(__NR_getrandom, sys_getrandom)
 #define __NR_memfd_create 279
 __SYSCALL(__NR_memfd_create, sys_memfd_create)
+#define __NR_bpf 280
+__SYSCALL(__NR_bpf, sys_bpf)
 
 #undef __NR_syscalls
-#define __NR_syscalls 280
+#define __NR_syscalls 281
 
 /*
  * All syscalls below here should go away really,
 
 
 /* operate on Secure Computing state */
 cond_syscall(sys_seccomp);
+
+/* access BPF programs and maps */
+cond_syscall(sys_bpf);