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] [day] [month] [year] [list]
Message-ID: <202105280753.baeTS9PX-lkp@intel.com>
Date:   Fri, 28 May 2021 07:11:53 +0800
From:   kernel test robot <lkp@...el.com>
To:     Yejune Deng <yejune.deng@...il.com>, hca@...ux.ibm.com,
        gor@...ux.ibm.com, borntraeger@...ibm.com, tglx@...utronix.de,
        keescook@...omium.org
Cc:     kbuild-all@...ts.01.org, linux-s390@...r.kernel.org,
        linux-kernel@...r.kernel.org, Yejune Deng <yejunedeng@...il.com>
Subject: Re: [PATCH] softirq/s390: Use the generic local_softirq_pending()

Hi Yejune,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on s390/features]
[also build test WARNING on v5.13-rc3 next-20210527]
[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/Yejune-Deng/softirq-s390-Use-the-generic-local_softirq_pending/20210524-204051
base:   https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git features
config: s390-randconfig-s031-20210527 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/f1a79ef6db72f0ee7455c9b2985eba179516b7fd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Yejune-Deng/softirq-s390-Use-the-generic-local_softirq_pending/20210524-204051
        git checkout f1a79ef6db72f0ee7455c9b2985eba179516b7fd
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=s390 

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


sparse warnings: (new ones prefixed by >>)
>> kernel/softirq.c:379:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:379:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:379:13: sparse:     got unsigned int *
>> kernel/softirq.c:379:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:379:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:379:13: sparse:     got unsigned int *
>> kernel/softirq.c:379:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:379:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:379:13: sparse:     got unsigned int *
>> kernel/softirq.c:379:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:379:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:379:13: sparse:     got unsigned int *
>> kernel/softirq.c:379:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:379:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:379:13: sparse:     got unsigned int *
   kernel/softirq.c:457:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:457:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:457:19: sparse:     got unsigned int *
   kernel/softirq.c:457:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:457:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:457:19: sparse:     got unsigned int *
   kernel/softirq.c:457:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:457:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:457:19: sparse:     got unsigned int *
   kernel/softirq.c:457:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:457:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:457:19: sparse:     got unsigned int *
   kernel/softirq.c:457:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:457:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:457:19: sparse:     got unsigned int *
   kernel/softirq.c:533:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:533:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:533:19: sparse:     got unsigned int *
   kernel/softirq.c:533:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:533:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:533:19: sparse:     got unsigned int *
   kernel/softirq.c:533:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:533:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:533:19: sparse:     got unsigned int *
   kernel/softirq.c:533:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:533:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:533:19: sparse:     got unsigned int *
   kernel/softirq.c:533:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:533:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:533:19: sparse:     got unsigned int *
   kernel/softirq.c:541:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:541:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:541:9: sparse:     got unsigned int *
   kernel/softirq.c:541:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:541:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:541:9: sparse:     got unsigned int *
   kernel/softirq.c:541:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:541:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:541:9: sparse:     got unsigned int *
   kernel/softirq.c:541:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:541:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:541:9: sparse:     got unsigned int *
   kernel/softirq.c:541:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:541:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:541:9: sparse:     got unsigned int *
   kernel/softirq.c:577:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:577:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:577:19: sparse:     got unsigned int *
   kernel/softirq.c:577:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:577:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:577:19: sparse:     got unsigned int *
   kernel/softirq.c:577:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:577:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:577:19: sparse:     got unsigned int *
   kernel/softirq.c:577:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:577:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:577:19: sparse:     got unsigned int *
   kernel/softirq.c:577:19: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:577:19: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:577:19: sparse:     got unsigned int *
   kernel/softirq.c:700:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:700:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:700:9: sparse:     got unsigned int *
   kernel/softirq.c:700:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:700:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:700:9: sparse:     got unsigned int *
   kernel/softirq.c:700:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:700:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:700:9: sparse:     got unsigned int *
   kernel/softirq.c:700:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:700:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:700:9: sparse:     got unsigned int *
   kernel/softirq.c:700:9: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:700:9: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:700:9: sparse:     got unsigned int *
   kernel/softirq.c:910:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:910:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:910:16: sparse:     got unsigned int *
   kernel/softirq.c:910:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:910:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:910:16: sparse:     got unsigned int *
   kernel/softirq.c:910:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:910:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:910:16: sparse:     got unsigned int *
   kernel/softirq.c:910:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:910:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:910:16: sparse:     got unsigned int *
   kernel/softirq.c:910:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:910:16: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:910:16: sparse:     got unsigned int *
   kernel/softirq.c:916:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:916:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:916:13: sparse:     got unsigned int *
   kernel/softirq.c:916:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:916:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/softirq.c:916:13: sparse:     got unsigned int *
   kernel/softirq.c:916:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/softirq.c:916:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
--
>> kernel/smp.c:453:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/smp.c:453:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/smp.c:453:13: sparse:     got unsigned int *
>> kernel/smp.c:453:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/smp.c:453:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/smp.c:453:13: sparse:     got unsigned int *
>> kernel/smp.c:453:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/smp.c:453:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/smp.c:453:13: sparse:     got unsigned int *
>> kernel/smp.c:453:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/smp.c:453:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/smp.c:453:13: sparse:     got unsigned int *
>> kernel/smp.c:453:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   kernel/smp.c:453:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/smp.c:453:13: sparse:     got unsigned int *
--
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected restricted __wsum [usertype] csum @@     got unsigned int @@
   net/core/dev.c:3308:23: sparse:     expected restricted __wsum [usertype] csum
   net/core/dev.c:3308:23: sparse:     got unsigned int
   net/core/dev.c:3308:23: sparse: sparse: cast from restricted __wsum
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected restricted __wsum [usertype] csum @@     got unsigned int @@
   net/core/dev.c:3308:23: sparse:     expected restricted __wsum [usertype] csum
   net/core/dev.c:3308:23: sparse:     got unsigned int
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __wsum @@
   net/core/dev.c:3308:23: sparse:     expected unsigned int [usertype] val
   net/core/dev.c:3308:23: sparse:     got restricted __wsum
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected restricted __wsum [usertype] csum @@     got unsigned int @@
   net/core/dev.c:3308:23: sparse:     expected restricted __wsum [usertype] csum
   net/core/dev.c:3308:23: sparse:     got unsigned int
   net/core/dev.c:3308:23: sparse: sparse: cast from restricted __wsum
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected restricted __wsum [usertype] csum @@     got unsigned int @@
   net/core/dev.c:3308:23: sparse:     expected restricted __wsum [usertype] csum
   net/core/dev.c:3308:23: sparse:     got unsigned int
   net/core/dev.c:3308:23: sparse: sparse: cast from restricted __wsum
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected restricted __wsum [usertype] csum @@     got unsigned int @@
   net/core/dev.c:3308:23: sparse:     expected restricted __wsum [usertype] csum
   net/core/dev.c:3308:23: sparse:     got unsigned int
   net/core/dev.c:3308:23: sparse: sparse: cast from restricted __wsum
   net/core/dev.c:3308:23: sparse: sparse: incorrect type in argument 4 (different base types) @@     expected restricted __wsum [usertype] csum @@     got unsigned int @@
   net/core/dev.c:3308:23: sparse:     expected restricted __wsum [usertype] csum
   net/core/dev.c:3308:23: sparse:     got unsigned int
   net/core/dev.c:3308:23: sparse: sparse: cast from restricted __wsum
>> net/core/dev.c:4910:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   net/core/dev.c:4910:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   net/core/dev.c:4910:13: sparse:     got unsigned int *
>> net/core/dev.c:4910:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   net/core/dev.c:4910:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   net/core/dev.c:4910:13: sparse:     got unsigned int *
>> net/core/dev.c:4910:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   net/core/dev.c:4910:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   net/core/dev.c:4910:13: sparse:     got unsigned int *
>> net/core/dev.c:4910:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   net/core/dev.c:4910:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   net/core/dev.c:4910:13: sparse:     got unsigned int *
>> net/core/dev.c:4910:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got unsigned int * @@
   net/core/dev.c:4910:13: sparse:     expected void const [noderef] __percpu *__vpp_verify
   net/core/dev.c:4910:13: sparse:     got unsigned int *
   net/core/dev.c:3807:26: sparse: sparse: context imbalance in '__dev_queue_xmit' - different lock contexts for basic block
   net/core/dev.c:4990:44: sparse: sparse: context imbalance in 'net_tx_action' - unexpected unlock

vim +379 kernel/softirq.c

de30a2b355ea853 Ingo Molnar         2006-07-03  360  
0bd3a173d711857 Peter Zijlstra      2013-11-19  361  void __local_bh_enable_ip(unsigned long ip, unsigned int cnt)
de30a2b355ea853 Ingo Molnar         2006-07-03  362  {
f71b74bca637fca Frederic Weisbecker 2017-11-06  363  	WARN_ON_ONCE(in_irq());
f71b74bca637fca Frederic Weisbecker 2017-11-06  364  	lockdep_assert_irqs_enabled();
3c829c367a1a525 Tim Chen            2006-07-30  365  #ifdef CONFIG_TRACE_IRQFLAGS
0f476b6d91a1395 Johannes Berg       2008-06-18  366  	local_irq_disable();
3c829c367a1a525 Tim Chen            2006-07-30  367  #endif
de30a2b355ea853 Ingo Molnar         2006-07-03  368  	/*
de30a2b355ea853 Ingo Molnar         2006-07-03  369  	 * Are softirqs going to be turned on now:
de30a2b355ea853 Ingo Molnar         2006-07-03  370  	 */
75e1056f5c57050 Venkatesh Pallipadi 2010-10-04  371  	if (softirq_count() == SOFTIRQ_DISABLE_OFFSET)
0d38453c85b426e Peter Zijlstra      2020-03-20  372  		lockdep_softirqs_on(ip);
de30a2b355ea853 Ingo Molnar         2006-07-03  373  	/*
de30a2b355ea853 Ingo Molnar         2006-07-03  374  	 * Keep preemption disabled until we are done with
de30a2b355ea853 Ingo Molnar         2006-07-03  375  	 * softirq processing:
de30a2b355ea853 Ingo Molnar         2006-07-03  376  	 */
91ea62d58bd6618 Peter Zijlstra      2020-12-18  377  	__preempt_count_sub(cnt - 1);
de30a2b355ea853 Ingo Molnar         2006-07-03  378  
0bed698a334766e Frederic Weisbecker 2013-09-05 @379  	if (unlikely(!in_interrupt() && local_softirq_pending())) {
0bed698a334766e Frederic Weisbecker 2013-09-05  380  		/*
0bed698a334766e Frederic Weisbecker 2013-09-05  381  		 * Run softirq if any pending. And do it in its own stack
0bed698a334766e Frederic Weisbecker 2013-09-05  382  		 * as we may be calling this deep in a task call stack already.
0bed698a334766e Frederic Weisbecker 2013-09-05  383  		 */
de30a2b355ea853 Ingo Molnar         2006-07-03  384  		do_softirq();
0bed698a334766e Frederic Weisbecker 2013-09-05  385  	}
de30a2b355ea853 Ingo Molnar         2006-07-03  386  
bdb43806589096a Peter Zijlstra      2013-09-10  387  	preempt_count_dec();
3c829c367a1a525 Tim Chen            2006-07-30  388  #ifdef CONFIG_TRACE_IRQFLAGS
0f476b6d91a1395 Johannes Berg       2008-06-18  389  	local_irq_enable();
3c829c367a1a525 Tim Chen            2006-07-30  390  #endif
de30a2b355ea853 Ingo Molnar         2006-07-03  391  	preempt_check_resched();
de30a2b355ea853 Ingo Molnar         2006-07-03  392  }
0bd3a173d711857 Peter Zijlstra      2013-11-19  393  EXPORT_SYMBOL(__local_bh_enable_ip);
de30a2b355ea853 Ingo Molnar         2006-07-03  394  

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

Download attachment ".config.gz" of type "application/gzip" (30803 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ