perf bpf: Fix NULL return handling in bpf__prepare_load()
tip-bot for YueHaibing
merge botCommit-ID: 7a36a287de9fbb1ba906e70573d3f2315f7fd609 Gitweb: https://git.kernel.org/tip/7a36a287de9fbb1ba906e70573d3f2315f7fd609 Author: YueHaibing <[email protected]> AuthorDate: Fri, 11 May 2018 19:21:42 +0800 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 16 May 2018 10:01:55 -0300
perf bpf: Fix NULL return handling in bpf__prepare_load()
bpf_object__open()/bpf_object__open_buffer can return error pointer or NULL, check the return values with IS_ERR_OR_NULL() in bpf__prepare_load and bpf__prepare_load_buffer
Signed-off-by YueHaibing <[email protected]>
Acked-by Daniel Borkmann <[email protected]>
Cc Alexander Shishkin <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Peter Zijlstra <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/bpf-loader.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
tools/perf/util/bpf-loader.c +3 -3
@@ -66,7 +66,7 @@ bpf__prepare_load_buffer(void *obj_buf, size_t obj_buf_sz, const char *name) } obj =bpf_object__open_buffer (obj_buf, obj_buf_sz, name); -if (IS_ERR (obj)) { +if (IS_ERR_OR_NULL (obj)) {pr_debug ("bpf: failed to load buffer\n" );return ERR_PTR (-EINVAL ); }
@@ -102,14 +102,14 @@ struct bpf_object *bpf__prepare_load(const char *filename, bool source)pr_debug ("bpf: successfull builtin compilation\n" ); obj =bpf_object__open_buffer (obj_buf, obj_buf_sz, filename); -if (!IS_ERR (obj) && llvm_param.dump_obj) +if (!IS_ERR_OR_NULL (obj) && llvm_param.dump_obj)llvm__dump_obj (filename, obj_buf, obj_buf_sz);free (obj_buf); }else obj =bpf_object__open (filename); -if (IS_ERR (obj)) { +if (IS_ERR_OR_NULL (obj)) {pr_debug ("bpf: failed to load %s\n" , filename);return obj; }