Re: [PATCH] net: untag pointer in sockptr_is_kernel

From: Miles Chen
Date: Wed Aug 12 2020 - 05:17:47 EST


On Tue, 2020-08-11 at 20:28 +0800, kernel test robot wrote:
> Hi Miles,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on net-next/master]
> [also build test ERROR on linus/master]
> [cannot apply to net/master hch-configfs/for-next sparc-next/master v5.8 next-20200811]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]

hi test robot,

thanks for the report.

6d04fe15f78a ("net: optimize the sockptr_t for unified kernel/user
address spaces") has been reverted, so I will not sent patch v2 for this
build error.

Miles

> url: https://github.com/0day-ci/linux/commits/Miles-Chen/net-untag-pointer-in-sockptr_is_kernel/20200811-18303
> base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git bfdd5aaa54b0a44d9df550fe4c9db7e1470a11b8
> config: x86_64-randconfig-a013-20200811 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 4f2ad15db535873dda9bfe248a2771023b64a43c)
> 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
> # install x86_64 cross compiling tool for clang build
> # apt-get install binutils-x86-64-linux-gnu
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
>
> 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 net/ipv6/af_inet6.c:29:
> In file included from include/linux/net.h:24:
> >> include/linux/sockptr.h:23:24: error: implicit declaration of function 'untagged_addr' [-Werror,-Wimplicit-function-declaration]
> return (unsigned long)untagged_addr(sockptr.kernel) >= TASK_SIZE;
> ^
> 1 error generated.
> --
> In file included from net/ipv6/udp.c:24:
> In file included from include/linux/net.h:24:
> >> include/linux/sockptr.h:23:24: error: implicit declaration of function 'untagged_addr' [-Werror,-Wimplicit-function-declaration]
> return (unsigned long)untagged_addr(sockptr.kernel) >= TASK_SIZE;
> ^
> net/ipv6/udp.c:1029:30: warning: no previous prototype for function 'udp_v6_early_demux' [-Wmissing-prototypes]
> INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb)
> ^
> net/ipv6/udp.c:1029:25: note: declare 'static' if the function is not intended to be used outside of this translation unit
> INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb)
> ^
> static
> net/ipv6/udp.c:1070:29: warning: no previous prototype for function 'udpv6_rcv' [-Wmissing-prototypes]
> INDIRECT_CALLABLE_SCOPE int udpv6_rcv(struct sk_buff *skb)
> ^
> net/ipv6/udp.c:1070:25: note: declare 'static' if the function is not intended to be used outside of this translation unit
> INDIRECT_CALLABLE_SCOPE int udpv6_rcv(struct sk_buff *skb)
> ^
> static
> 2 warnings and 1 error generated.
>
> vim +/untagged_addr +23 include/linux/sockptr.h
>
> 20
> 21 static inline bool sockptr_is_kernel(sockptr_t sockptr)
> 22 {
> > 23 return (unsigned long)untagged_addr(sockptr.kernel) >= TASK_SIZE;
> 24 }
> 25
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx