Re: [PATCH bpf-next 2/4] bpf: Implement bpf_local_storage for inodes

From: kbuild test robot
Date: Tue Jun 02 2020 - 17:36:47 EST


Hi KP,

I love your patch! Yet something to improve:

[auto build test ERROR on bpf-next/master]
[cannot apply to bpf/master linus/master linux/master v5.7 next-20200602]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/KP-Singh/Generalizing-bpf_local_storage/20200527-011230
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: c6x-randconfig-r016-20200602 (attached as .config)
compiler: c6x-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=c6x

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>, old ones prefixed by <<):

In file included from net/core/sock.c:133:
>> include/linux/bpf_local_storage.h:41:20: error: two or more data types in declaration specifiers
41 | static inline void void bpf_inode_storage_free(struct inode *inode)
| ^~~~
--
In file included from net/core/filter.c:75:
>> include/linux/bpf_local_storage.h:41:20: error: two or more data types in declaration specifiers
41 | static inline void void bpf_inode_storage_free(struct inode *inode)
| ^~~~
In file included from include/asm-generic/atomic.h:12,
from ./arch/c6x/include/generated/asm/atomic.h:1,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/c6x/include/asm/bitops.h:87,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/module.h:12,
from net/core/filter.c:20:
net/core/filter.c: In function 'bpf_clear_redirect_map':
arch/c6x/include/asm/cmpxchg.h:55:3: warning: value computed is not used [-Wunused-value]
55 | ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | (unsigned long)(o), | ~~~~~~~~~~~~~~~~~~~~~
57 | (unsigned long)(n), | ~~~~~~~~~~~~~~~~~~~~~
58 | sizeof(*(ptr))))
| ~~~~~~~~~~~~~~~~
include/asm-generic/cmpxchg.h:106:28: note: in expansion of macro 'cmpxchg_local'
106 | #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n))
| ^~~~~~~~~~~~~
net/core/filter.c:3529:4: note: in expansion of macro 'cmpxchg'
3529 | cmpxchg(&ri->map, map, NULL);
| ^~~~~~~

vim +41 include/linux/bpf_local_storage.h

19
20 #ifdef CONFIG_BPF_SYSCALL
21 void bpf_inode_storage_free(struct inode *inode);
22 int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk);
23 struct bpf_sk_storage_diag *
24 bpf_sk_storage_diag_alloc(const struct nlattr *nla_stgs);
25 void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag);
26 int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag,
27 struct sock *sk, struct sk_buff *skb,
28 int stg_array_type,
29 unsigned int *res_diag_size);
30 #else
31 static inline int bpf_sk_storage_clone(const struct sock *sk,
32 struct sock *newsk)
33 {
34 return 0;
35 }
36 static inline struct bpf_sk_storage_diag *
37 bpf_sk_storage_diag_alloc(const struct nlattr *nla)
38 {
39 return NULL;
40 }
> 41 static inline void void bpf_inode_storage_free(struct inode *inode)
42 {
43 }
44 static inline void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag)
45 {
46 }
47 static inline int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag,
48 struct sock *sk, struct sk_buff *skb,
49 int stg_array_type,
50 unsigned int *res_diag_size)
51 {
52 return 0;
53 }
54 #endif
55

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip