Em Sun, May 13, 2018 at 01:20:22AM +0200, Daniel Borkmann escreveu: > [ +Arnaldo ] > > On 05/11/2018 01:21 PM, YueHaibing wrote: > > 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 <yuehaib...@huawei.com> > > --- > > tools/perf/util/bpf-loader.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > This should probably be routed via Arnaldo due to the fix in perf itself. If > there's no particular preference on which tree, we could potentially route it > as well via bpf with Acked-by from Arnaldo, but that is up to him. Arnaldo, > any preference?
I'm preparing a pull req right now, and working a bit on perf's BPF support, so why not, I'll merge it, thanks, - Arnaldo > > diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c > > index af7ad81..cee6587 100644 > > --- a/tools/perf/util/bpf-loader.c > > +++ b/tools/perf/util/bpf-loader.c > > @@ -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; > > } > >