diff options
Diffstat (limited to 'kernel/bpf/queue_stack_maps.c')
| -rw-r--r-- | kernel/bpf/queue_stack_maps.c | 16 | 
1 files changed, 4 insertions, 12 deletions
diff --git a/kernel/bpf/queue_stack_maps.c b/kernel/bpf/queue_stack_maps.c index 0ee2347ba510..f9c734aaa990 100644 --- a/kernel/bpf/queue_stack_maps.c +++ b/kernel/bpf/queue_stack_maps.c @@ -66,29 +66,21 @@ static int queue_stack_map_alloc_check(union bpf_attr *attr)  static struct bpf_map *queue_stack_map_alloc(union bpf_attr *attr)  { -	int ret, numa_node = bpf_map_attr_numa_node(attr); -	struct bpf_map_memory mem = {0}; +	int numa_node = bpf_map_attr_numa_node(attr);  	struct bpf_queue_stack *qs; -	u64 size, queue_size, cost; +	u64 size, queue_size;  	size = (u64) attr->max_entries + 1; -	cost = queue_size = sizeof(*qs) + size * attr->value_size; - -	ret = bpf_map_charge_init(&mem, cost); -	if (ret < 0) -		return ERR_PTR(ret); +	queue_size = sizeof(*qs) + size * attr->value_size;  	qs = bpf_map_area_alloc(queue_size, numa_node); -	if (!qs) { -		bpf_map_charge_finish(&mem); +	if (!qs)  		return ERR_PTR(-ENOMEM); -	}  	memset(qs, 0, sizeof(*qs));  	bpf_map_init_from_attr(&qs->map, attr); -	bpf_map_charge_move(&qs->map.memory, &mem);  	qs->size = size;  	raw_spin_lock_init(&qs->lock);  | 
