diff options
Diffstat (limited to 'kernel/bpf/arraymap.c')
| -rw-r--r-- | kernel/bpf/arraymap.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c index c4b9ab01bba5..7c25426d3cf5 100644 --- a/kernel/bpf/arraymap.c +++ b/kernel/bpf/arraymap.c @@ -19,6 +19,9 @@  #include "map_in_map.h" +#define ARRAY_CREATE_FLAG_MASK \ +	(BPF_F_NUMA_NODE | BPF_F_RDONLY | BPF_F_WRONLY) +  static void bpf_array_free_percpu(struct bpf_array *array)  {  	int i; @@ -56,7 +59,8 @@ static struct bpf_map *array_map_alloc(union bpf_attr *attr)  	/* check sanity of attributes */  	if (attr->max_entries == 0 || attr->key_size != 4 || -	    attr->value_size == 0 || attr->map_flags & ~BPF_F_NUMA_NODE || +	    attr->value_size == 0 || +	    attr->map_flags & ~ARRAY_CREATE_FLAG_MASK ||  	    (percpu && numa_node != NUMA_NO_NODE))  		return ERR_PTR(-EINVAL);  | 
