[PATCH] bpf: Clean up all resources when register_fprobe_ips returns an error

From: Chuang Wang
Date: Tue Oct 25 2022 - 04:06:53 EST


When register_fprobe_ips returns an error, bpf_link_cleanup just cleans
up bpf_link_primer's resources and forgets to clean up
bpf_kprobe_multi_link, addrs, cookies.

So, by adding 'goto error', this ensures that all resources are cleaned
up.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 0dcac2725406 ("bpf: Add multi kprobe link")
Signed-off-by: Chuang Wang <nashuiliang@xxxxxxxxx>
---
kernel/trace/bpf_trace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 1ed08967fb97..5b806ef20857 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -2778,7 +2778,7 @@ int bpf_kprobe_multi_link_attach(const union bpf_attr *attr, struct bpf_prog *pr
err = register_fprobe_ips(&link->fp, addrs, cnt);
if (err) {
bpf_link_cleanup(&link_primer);
- return err;
+ goto error;
}

return bpf_link_settle(&link_primer);
--
2.34.1