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 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@lists.01.org