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 #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 */