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

Roman Gushchin
2018-07-06T21:53:41Z

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@mess.org>
> :::::: CC: Daniel Borkmann <daniel@iogearbox.net>

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@fb.com>
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@fb.com>
Cc: Sean Young <sean@mess.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <ast@kernel.org>
---
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>

--
2.14.4