Re: [PATCH v2 bpf-next 02/14] bpf: introduce cgroup storage maps

From: Alexei Starovoitov
Date: Sat Jul 07 2018 - 18:35:46 EST


On Fri, Jul 06, 2018 at 02:52:32PM -0700, Roman Gushchin wrote:
> On Fri, Jul 06, 2018 at 10:42:39PM +0800, kbuild test robot wrote:
> > Hi Roman,
> >
> > Thank you for the patch! Yet something to improve:
> >
> > [auto build test ERROR on bpf-next/master]
> >
> > url: https://github.com/0day-ci/linux/commits/Roman-Gushchin/bpf-cgroup-local-storage/20180706-055938
> > base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
> > config: s390-performance_defconfig (attached as .config)
> > compiler: s390x-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
> > reproduce:
> > wget https://urldefense.proofpoint.com/v2/url?u=https-3A__raw.githubusercontent.com_intel_lkp-2Dtests_master_sbin_make.cross&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=ImwiAAR6DVyf5JEcIc5VLF9xY4lfFxVuk8_4BN6I03g&s=r0S7gFQPOZVZagshsK0pL3eU8_GRpD1ywrvYfXJ4yBQ&e= -O ~/bin/make.cross
> > chmod +x ~/bin/make.cross
> > # save the attached .config to linux build tree
> > GCC_VERSION=7.2.0 make.cross ARCH=s390
> >
> > All errors (new ones prefixed by >>):
> >
> > In file included from kernel//bpf/local_storage.c:2:0:
> > include/linux/bpf-cgroup.h: In function 'cgroup_bpf_prog_attach':
> > >> include/linux/bpf-cgroup.h:237:10: error: 'EINVAL' undeclared (first use in this function)
> > return -EINVAL;
> > ^~~~~~
> > include/linux/bpf-cgroup.h:237:10: note: each undeclared identifier is reported only once for each function it appears in
> > include/linux/bpf-cgroup.h: In function 'cgroup_bpf_prog_detach':
> > include/linux/bpf-cgroup.h:243:10: error: 'EINVAL' undeclared (first use in this function)
> > return -EINVAL;
> > ^~~~~~
> > include/linux/bpf-cgroup.h: In function 'cgroup_bpf_prog_query':
> > include/linux/bpf-cgroup.h:249:10: error: 'EINVAL' undeclared (first use in this function)
> > return -EINVAL;
> > ^~~~~~
> >
> > vim +/EINVAL +237 include/linux/bpf-cgroup.h
> >
> > 30070984 Daniel Mack 2016-11-23 232
> > fdb5c453 Sean Young 2018-06-19 233 static inline int cgroup_bpf_prog_attach(const union bpf_attr *attr,
> > fdb5c453 Sean Young 2018-06-19 234 enum bpf_prog_type ptype,
> > fdb5c453 Sean Young 2018-06-19 235 struct bpf_prog *prog)
> > fdb5c453 Sean Young 2018-06-19 236 {
> > fdb5c453 Sean Young 2018-06-19 @237 return -EINVAL;
> > fdb5c453 Sean Young 2018-06-19 238 }
> > fdb5c453 Sean Young 2018-06-19 239
> >
> > :::::: The code at line 237 was first introduced by commit
> > :::::: fdb5c4531c1e0e50e609df83f736b6f3a02896e2 bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF
> >
> > :::::: TO: Sean Young <sean@xxxxxxxx>
> > :::::: CC: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
>
> These errors have nothing to do with the cgroup local storage patchset.
> They do exist in the current bpf-next tree.
> Here is the fix.
>
> Thanks!
>
> --
>
> From c0cd59b969e060765514224e31595763213e40f9 Mon Sep 17 00:00:00 2001
> From: Roman Gushchin <guro@xxxxxx>
> Date: Fri, 6 Jul 2018 14:34:29 -0700
> Subject: [PATCH bpf-next] bpf: include errno.h from bpf-cgroup.h
>
> Commit fdb5c4531c1e ("bpf: fix attach type BPF_LIRC_MODE2 dependency
> wrt CONFIG_CGROUP_BPF") caused some build issues, detected by 0-DAY
> kernel test infrastructure.
>
> The problem is that cgroup_bpf_prog_attach/detach/query() functions
> can return -EINVAL error code, which is not defined. Fix this adding
> errno.h to includes.
>
> Fixes: fdb5c4531c1e ("bpf: fix attach type BPF_LIRC_MODE2 dependency
> wrt CONFIG_CGROUP_BPF")
> Signed-off-by: Roman Gushchin <guro@xxxxxx>
> Cc: Sean Young <sean@xxxxxxxx>
> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
> Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
> ---
> include/linux/bpf-cgroup.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
> index 79795c5fa7c3..d50c2f0a655a 100644
> --- a/include/linux/bpf-cgroup.h
> +++ b/include/linux/bpf-cgroup.h
> @@ -2,6 +2,7 @@
> #ifndef _BPF_CGROUP_H
> #define _BPF_CGROUP_H
>
> +#include <linux/errno.h>
> #include <linux/jump_label.h>
> #include <uapi/linux/bpf.h>

good catch, but please resend it as a proper patch,
since patchwork didn't pick it up.
Also the subj should say 'bpf' instead of 'bpf-next', right?