diff options
| author | Martin KaFai Lau <[email protected]> | 2018-12-01 17:08:44 -0800 |
|---|---|---|
| committer | Alexei Starovoitov <[email protected]> | 2018-12-02 09:12:58 -0800 |
| commit | 5482e9a93c83839f94e75db712e6837e6a39962c (patch) | |
| tree | 4a6563610f69436aa35887e450992e7fb8a941d9 | |
| parent | 71fc156ff5361beb1fb4c519add1f1ebda33ff13 (diff) | |
bpf: Fix memleak in aux->func_info and aux->btf
The aux->func_info and aux->btf are leaked in the error out cases
during bpf_prog_load(). This patch fixes it.
Fixes: ba64e7d85252 ("bpf: btf: support proper non-jit func info")
Cc: Yonghong Song <[email protected]>
Signed-off-by: Martin KaFai Lau <[email protected]>
Acked-by: Yonghong Song <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
| -rw-r--r-- | kernel/bpf/syscall.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index f9554d9a14e1..4445d0d084d8 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -1560,6 +1560,8 @@ static int bpf_prog_load(union bpf_attr *attr, union bpf_attr __user *uattr) return err; free_used_maps: + kvfree(prog->aux->func_info); + btf_put(prog->aux->btf); bpf_prog_kallsyms_del_subprogs(prog); free_used_maps(prog->aux); free_prog: |