[congwang:bpf2 1/4] include/linux/skmsg.h:463:29: error: use of undeclared identifier 'sock_map_close'; did you mean 'sk_msg_clone'?

From: kernel test robot
Date: Tue Sep 28 2021 - 04:37:00 EST


tree: https://github.com/congwang/linux.git bpf2
head: 9467b830d29e6f28b0700ef9801ba7debe6e8356
commit: a84e6076e2ba4269d7bb0d953cee9a155c241265 [1/4] skmsg: introduce sk_psock_get_checked()
config: hexagon-randconfig-r045-20210928 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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
# https://github.com/congwang/linux/commit/a84e6076e2ba4269d7bb0d953cee9a155c241265
git remote add congwang https://github.com/congwang/linux.git
git fetch --no-tags congwang bpf2
git checkout a84e6076e2ba4269d7bb0d953cee9a155c241265
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash kernel/bpf/

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

All errors (new ones prefixed by >>):

In file included from kernel/bpf/btf.c:22:
>> include/linux/skmsg.h:463:29: error: use of undeclared identifier 'sock_map_close'; did you mean 'sk_msg_clone'?
if (sk->sk_prot->close != sock_map_close) {
^~~~~~~~~~~~~~
sk_msg_clone
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/skmsg.h:113:5: note: 'sk_msg_clone' declared here
int sk_msg_clone(struct sock *sk, struct sk_msg *dst, struct sk_msg *src,
^
>> include/linux/skmsg.h:463:29: error: use of undeclared identifier 'sock_map_close'; did you mean 'sk_msg_clone'?
if (sk->sk_prot->close != sock_map_close) {
^~~~~~~~~~~~~~
sk_msg_clone
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/skmsg.h:113:5: note: 'sk_msg_clone' declared here
int sk_msg_clone(struct sock *sk, struct sk_msg *dst, struct sk_msg *src,
^
>> include/linux/skmsg.h:463:29: error: use of undeclared identifier 'sock_map_close'; did you mean 'sk_msg_clone'?
if (sk->sk_prot->close != sock_map_close) {
^~~~~~~~~~~~~~
sk_msg_clone
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^
include/linux/skmsg.h:113:5: note: 'sk_msg_clone' declared here
int sk_msg_clone(struct sock *sk, struct sk_msg *dst, struct sk_msg *src,
^
3 errors generated.


vim +463 include/linux/skmsg.h

454
455 static inline struct sk_psock *sk_psock_get_checked(struct sock *sk)
456 {
457 struct sk_psock *psock;
458
459 rcu_read_lock();
460 psock = sk_psock(sk);
461 if (psock) {
462 #if defined(CONFIG_BPF_SYSCALL)
> 463 if (sk->sk_prot->close != sock_map_close) {
464 rcu_read_unlock();
465 return ERR_PTR(-EBUSY);
466 }
467 #endif
468 if (!refcount_inc_not_zero(&psock->refcnt))
469 psock = ERR_PTR(-EBUSY);
470 }
471 rcu_read_unlock();
472 return psock;
473 }
474

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

Attachment: .config.gz
Description: application/gzip