Hi all,
Today's linux-next merge of the bpf-next tree got a conflict in:
tools/lib/bpf/libbpf.c
between commit:
3597683c9da6 ("tools: bpf: handle NULL return in bpf_prog_load_xattr()")
from the bpf tree and commit:
17387dd5ac2c ("tools: bpf: don't complain about no kernel version for networking code")
from the bpf-next tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc tools/lib/bpf/libbpf.c
index 8da4eeb101a6,df54c4c9e48a..000000000000
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@@ -2163,9 -2193,12 +2193,12 @@@ int bpf_prog_load_xattr(const struct bp
if (!attr)
return -EINVAL;
+ if (!attr->file)
+ return -EINVAL;
- obj = bpf_object__open(attr->file);
+ obj = __bpf_object__open(attr->file, NULL, 0,
+ bpf_prog_type__needs_kver(attr->prog_type));
- if (IS_ERR(obj))
+ if (IS_ERR_OR_NULL(obj))
return -ENOENT;
bpf_object__for_each_program(prog, obj) {
On Mon, 14 May 2018 11:57:00 +1000, Stephen Rothwell wrote:
> diff --cc tools/lib/bpf/libbpf.c
> index 8da4eeb101a6,df54c4c9e48a..000000000000
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@@ -2163,9 -2193,12 +2193,12 @@@ int bpf_prog_load_xattr(const struct bp
>
> if (!attr)
> return -EINVAL;
> + if (!attr->file)
> + return -EINVAL;
>
> - obj = bpf_object__open(attr->file);
> + obj = __bpf_object__open(attr->file, NULL, 0,
> + bpf_prog_type__needs_kver(attr->prog_type));
> - if (IS_ERR(obj))
> + if (IS_ERR_OR_NULL(obj))
> return -ENOENT;
This is okay, thanks. The OR_NULL is unnecessary just using the
bpf-next code is a better merge IMO.
Hi Jakub,
On Mon, 14 May 2018 13:41:40 -0700 Jakub Kicinski <[email protected]> wrote:
>
> On Mon, 14 May 2018 11:57:00 +1000, Stephen Rothwell wrote:
> > diff --cc tools/lib/bpf/libbpf.c
> > index 8da4eeb101a6,df54c4c9e48a..000000000000
> > --- a/tools/lib/bpf/libbpf.c
> > +++ b/tools/lib/bpf/libbpf.c
> > @@@ -2163,9 -2193,12 +2193,12 @@@ int bpf_prog_load_xattr(const struct bp
> >
> > if (!attr)
> > return -EINVAL;
> > + if (!attr->file)
> > + return -EINVAL;
> >
> > - obj = bpf_object__open(attr->file);
> > + obj = __bpf_object__open(attr->file, NULL, 0,
> > + bpf_prog_type__needs_kver(attr->prog_type));
> > - if (IS_ERR(obj))
> > + if (IS_ERR_OR_NULL(obj))
> > return -ENOENT;
>
> This is okay, thanks. The OR_NULL is unnecessary just using the
> bpf-next code is a better merge IMO.
Thanks, I have updated my merge resolution from today.
--
Cheers,
Stephen Rothwell