diff options
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r-- | kernel/bpf/syscall.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index cdc06546401b..233e3ac836a6 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c | |||
@@ -195,7 +195,7 @@ static int map_create(union bpf_attr *attr) | |||
195 | 195 | ||
196 | err = bpf_map_charge_memlock(map); | 196 | err = bpf_map_charge_memlock(map); |
197 | if (err) | 197 | if (err) |
198 | goto free_map; | 198 | goto free_map_nouncharge; |
199 | 199 | ||
200 | err = bpf_map_new_fd(map); | 200 | err = bpf_map_new_fd(map); |
201 | if (err < 0) | 201 | if (err < 0) |
@@ -205,6 +205,8 @@ static int map_create(union bpf_attr *attr) | |||
205 | return err; | 205 | return err; |
206 | 206 | ||
207 | free_map: | 207 | free_map: |
208 | bpf_map_uncharge_memlock(map); | ||
209 | free_map_nouncharge: | ||
208 | map->ops->map_free(map); | 210 | map->ops->map_free(map); |
209 | return err; | 211 | return err; |
210 | } | 212 | } |