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

kbuild test robot lkp at intel.com
Tue Jun 2 21:35:46 UTC 2020


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 at intel.com>

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


More information about the Linux-security-module-archive mailing list