lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 12 Jun 2024 21:30:01 +0800
From: kernel test robot <lkp@...el.com>
To: Steffen Klassert <steffen.klassert@...unet.com>,
	Jianbo Liu <jianbol@...dia.com>, Eric Dumazet <edumazet@...gle.com>,
	netdev@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev
Subject: Re: [PATCH ipsec] xfrm: Fix unregister netdevice hang on hardware
 offload.

Hi Steffen,

kernel test robot noticed the following build errors:

[auto build test ERROR on klassert-ipsec-next/master]
[also build test ERROR on klassert-ipsec/master net/main net-next/main linus/master v6.10-rc3 next-20240612]
[cannot apply to horms-ipvs/master]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Steffen-Klassert/xfrm-Fix-unregister-netdevice-hang-on-hardware-offload/20240612-171414
base:   https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git master
patch link:    https://lore.kernel.org/r/ZmlmTTYL6AkBel4P%40gauss3.secunet.de
patch subject: [PATCH ipsec] xfrm: Fix unregister netdevice hang on hardware offload.
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20240612/202406122125.fzbXlLhC-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240612/202406122125.fzbXlLhC-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406122125.fzbXlLhC-lkp@intel.com/

All errors (new ones prefixed by >>):

>> net/xfrm/xfrm_state.c:688:6: error: redefinition of 'xfrm_dev_state_delete'
     688 | void xfrm_dev_state_delete(struct xfrm_state *x)
         |      ^~~~~~~~~~~~~~~~~~~~~
   In file included from net/xfrm/xfrm_state.c:19:
   include/net/xfrm.h:2022:20: note: previous definition of 'xfrm_dev_state_delete' with type 'void(struct xfrm_state *)'
    2022 | static inline void xfrm_dev_state_delete(struct xfrm_state *x)
         |                    ^~~~~~~~~~~~~~~~~~~~~
   net/xfrm/xfrm_state.c: In function 'xfrm_dev_state_delete':
>> net/xfrm/xfrm_state.c:694:20: error: 'struct net_device' has no member named 'xfrmdev_ops'
     694 |                 dev->xfrmdev_ops->xdo_dev_state_delete(x);
         |                    ^~
   net/xfrm/xfrm_state.c: At top level:
>> net/xfrm/xfrm_state.c:701:6: error: redefinition of 'xfrm_dev_state_free'
     701 | void xfrm_dev_state_free(struct xfrm_state *x)
         |      ^~~~~~~~~~~~~~~~~~~
   include/net/xfrm.h:2026:20: note: previous definition of 'xfrm_dev_state_free' with type 'void(struct xfrm_state *)'
    2026 | static inline void xfrm_dev_state_free(struct xfrm_state *x)
         |                    ^~~~~~~~~~~~~~~~~~~
   net/xfrm/xfrm_state.c: In function 'xfrm_dev_state_free':
   net/xfrm/xfrm_state.c:706:23: error: 'struct net_device' has no member named 'xfrmdev_ops'
     706 |         if (dev && dev->xfrmdev_ops) {
         |                       ^~
   net/xfrm/xfrm_state.c:712:24: error: 'struct net_device' has no member named 'xfrmdev_ops'
     712 |                 if (dev->xfrmdev_ops->xdo_dev_state_free)
         |                        ^~
   net/xfrm/xfrm_state.c:713:28: error: 'struct net_device' has no member named 'xfrmdev_ops'
     713 |                         dev->xfrmdev_ops->xdo_dev_state_free(x);
         |                            ^~


vim +/xfrm_dev_state_delete +688 net/xfrm/xfrm_state.c

   687	
 > 688	void xfrm_dev_state_delete(struct xfrm_state *x)
   689	{
   690		struct xfrm_dev_offload *xso = &x->xso;
   691		struct net_device *dev = READ_ONCE(xso->dev);
   692	
   693		if (dev) {
 > 694			dev->xfrmdev_ops->xdo_dev_state_delete(x);
   695			spin_lock_bh(&xfrm_state_dev_gc_lock);
   696			hlist_add_head(&x->dev_gclist, &xfrm_state_dev_gc_list);
   697			spin_unlock_bh(&xfrm_state_dev_gc_lock);
   698		}
   699	}
   700	
 > 701	void xfrm_dev_state_free(struct xfrm_state *x)
   702	{
   703		struct xfrm_dev_offload *xso = &x->xso;
   704		struct net_device *dev = READ_ONCE(xso->dev);
   705	
   706		if (dev && dev->xfrmdev_ops) {
   707			spin_lock_bh(&xfrm_state_dev_gc_lock);
   708			if (!hlist_unhashed(&x->dev_gclist))
   709				hlist_del(&x->dev_gclist);
   710			spin_unlock_bh(&xfrm_state_dev_gc_lock);
   711	
   712			if (dev->xfrmdev_ops->xdo_dev_state_free)
   713				dev->xfrmdev_ops->xdo_dev_state_free(x);
   714			WRITE_ONCE(xso->dev, NULL);
   715			xso->type = XFRM_DEV_OFFLOAD_UNSPECIFIED;
   716			netdev_put(dev, &xso->dev_tracker);
   717		}
   718	}
   719	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ