firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-kernel_bpf_stackmap.c...

23 lines
667 B
Diff

diff -drupN a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c
--- a/kernel/bpf/stackmap.c 2018-08-06 17:23:04.000000000 +0300
+++ b/kernel/bpf/stackmap.c 2022-06-12 05:28:14.000000000 +0300
@@ -11,6 +11,9 @@
#include <linux/perf_event.h>
#include "percpu_freelist.h"
+#define STACK_CREATE_FLAG_MASK \
+ (BPF_F_RDONLY | BPF_F_WRONLY)
+
struct stack_map_bucket {
struct pcpu_freelist_node fnode;
u32 hash;
@@ -59,7 +62,7 @@ static struct bpf_map *stack_map_alloc(u
if (!capable(CAP_SYS_ADMIN))
return ERR_PTR(-EPERM);
- if (attr->map_flags)
+ if (attr->map_flags & ~STACK_CREATE_FLAG_MASK)
return ERR_PTR(-EINVAL);
/* check sanity of attributes */