Hi K,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on ipsec/master]
[also build test WARNING on ipsec-next/master sparc-next/master net-next/master 
net/master v5.8-rc6 next-20200724]
[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]

url:    
https://github.com/0day-ci/linux/commits/B-K-Karthik/net-ipv6-fix-use-after-free-Read-in-__xfrm6_tunnel_spi_lookup/20200726-111019
base:   https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec.git 
master
config: x86_64-randconfig-a001-20200726 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
8bf4c1f4fb257774f66c8cda07adc6c5e8668326)
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 <l...@intel.com>

All warnings (new ones prefixed by >>):

>> net/ipv6/xfrm6_tunnel.c:106:43: warning: cast to 'const xfrm_address_t *' 
>> from smaller integer type 'u32' (aka 'unsigned int') [-Wint-to-pointer-cast]
           int index = xfrm6_tunnel_spi_hash_byaddr((const xfrm_address_t 
*)spi);
                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/xfrm6_tunnel.c:69:28: warning: unused function 
'xfrm6_tunnel_spi_hash_byspi' [-Wunused-function]
   static inline unsigned int xfrm6_tunnel_spi_hash_byspi(u32 spi)
                              ^
   2 warnings generated.

vim +106 net/ipv6/xfrm6_tunnel.c

   101  
   102  static int __xfrm6_tunnel_spi_check(struct net *net, u32 spi)
   103  {
   104          struct xfrm6_tunnel_net *xfrm6_tn = xfrm6_tunnel_pernet(net);
   105          struct xfrm6_tunnel_spi *x6spi;
 > 106          int index = xfrm6_tunnel_spi_hash_byaddr((const xfrm_address_t 
 > *)spi);
   107  
   108          hlist_for_each_entry(x6spi,
   109                               &xfrm6_tn->spi_byaddr[index],
   110                               list_byspi) {
   111                  if (x6spi->spi == spi)
   112                          return -1;
   113          }
   114          return index;
   115  }
   116  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to