]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/bpf/syscall.c
Merge remote-tracking branch 'tip/auto-latest'
[karo-tx-linux.git] / kernel / bpf / syscall.c
index ea75c654af1b0011ecf3efdd481822ce9f073a63..3bae6c59191483d48eb5934ad216cc952abaf9b1 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/file.h>
 #include <linux/license.h>
 #include <linux/filter.h>
+#include <linux/version.h>
 
 static LIST_HEAD(bpf_map_types);
 
@@ -470,7 +471,7 @@ struct bpf_prog *bpf_prog_get(u32 ufd)
 EXPORT_SYMBOL_GPL(bpf_prog_get);
 
 /* last field in 'union bpf_attr' used by this command */
-#define        BPF_PROG_LOAD_LAST_FIELD log_buf
+#define        BPF_PROG_LOAD_LAST_FIELD kern_version
 
 static int bpf_prog_load(union bpf_attr *attr)
 {
@@ -495,6 +496,10 @@ static int bpf_prog_load(union bpf_attr *attr)
        if (attr->insn_cnt >= BPF_MAXINSNS)
                return -EINVAL;
 
+       if (type == BPF_PROG_TYPE_KPROBE &&
+           attr->kern_version != LINUX_VERSION_CODE)
+               return -EINVAL;
+
        /* plain bpf_prog allocation */
        prog = bpf_prog_alloc(bpf_prog_size(attr->insn_cnt), GFP_USER);
        if (!prog)