diff -drupN a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c --- a/kernel/bpf/hashtab.c 2018-08-06 17:23:04.000000000 +0300 +++ b/kernel/bpf/hashtab.c 2022-06-12 05:28:14.000000000 +0300 @@ -14,6 +14,8 @@ #include #include #include "percpu_freelist.h" +#define HTAB_CREATE_FLAG_MASK \ + (BPF_F_NO_PREALLOC | BPF_F_RDONLY | BPF_F_WRONLY) struct bucket { struct hlist_head head; @@ -148,7 +150,7 @@ static struct bpf_map *htab_map_alloc(un int err, i; u64 cost; - if (attr->map_flags & ~BPF_F_NO_PREALLOC) + if (attr->map_flags & ~HTAB_CREATE_FLAG_MASK) /* reserved bits should not be used */ return ERR_PTR(-EINVAL);