From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: include/linux/spinlock.h:378:9: sparse: sparse: context imbalance in 'reset_queues' - unexpected unlock
Date: Mon, 26 Oct 2020 05:56:34 +0800 [thread overview]
Message-ID: <202010260526.lfvT8gJM-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 13733 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
CC: Masahiro Yamada <yamada.masahiro@socionext.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 986b9eacb25910865b50e5f298aa8e2df7642f1b
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 12 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 12 months ago
config: powerpc64-randconfig-s032-20201026 (attached as .config)
compiler: powerpc64-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-56-gc09e8239-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80591e61a0f7e88deaada69844e4a31280c4a38f
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# 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__' ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
drivers/usb/gadget/udc/fsl_udc_core.c:71:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@
drivers/usb/gadget/udc/fsl_udc_core.c:71:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/fsl_udc_core.c:71:33: sparse: got int
drivers/usb/gadget/udc/fsl_udc_core.c:512:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] max_pkt_length @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:512:30: sparse: expected unsigned int [usertype] max_pkt_length
drivers/usb/gadget/udc/fsl_udc_core.c:512:30: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:707:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] next_dtd_ptr @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:707:26: sparse: expected unsigned int [usertype] next_dtd_ptr
drivers/usb/gadget/udc/fsl_udc_core.c:707:26: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:711:30: sparse: sparse: invalid assignment: &=
drivers/usb/gadget/udc/fsl_udc_core.c:711:30: sparse: left side has type unsigned int
drivers/usb/gadget/udc/fsl_udc_core.c:711:30: sparse: right side has type restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:739:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] next_td_ptr @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:739:44: sparse: expected unsigned int [usertype] next_td_ptr
drivers/usb/gadget/udc/fsl_udc_core.c:739:44: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:792:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] size_ioc_sts @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:792:27: sparse: expected unsigned int [usertype] size_ioc_sts
drivers/usb/gadget/udc/fsl_udc_core.c:792:27: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:796:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:796:24: sparse: expected unsigned int [usertype] buff_ptr0
drivers/usb/gadget/udc/fsl_udc_core.c:796:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:797:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:797:24: sparse: expected unsigned int [usertype] buff_ptr1
drivers/usb/gadget/udc/fsl_udc_core.c:797:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:798:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:798:24: sparse: expected unsigned int [usertype] buff_ptr2
drivers/usb/gadget/udc/fsl_udc_core.c:798:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:799:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:799:24: sparse: expected unsigned int [usertype] buff_ptr3
drivers/usb/gadget/udc/fsl_udc_core.c:799:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:800:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:800:24: sparse: expected unsigned int [usertype] buff_ptr4
drivers/usb/gadget/udc/fsl_udc_core.c:800:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:824:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] size_ioc_sts @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:824:27: sparse: expected unsigned int [usertype] size_ioc_sts
drivers/usb/gadget/udc/fsl_udc_core.c:824:27: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:851:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] next_td_ptr @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:851:47: sparse: expected unsigned int [usertype] next_td_ptr
drivers/usb/gadget/udc/fsl_udc_core.c:851:47: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:859:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] next_td_ptr @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:859:26: sparse: expected unsigned int [usertype] next_td_ptr
drivers/usb/gadget/udc/fsl_udc_core.c:859:26: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:1365:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:1365:33: sparse: expected unsigned short [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:1365:33: sparse: got restricted __le16 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1609:37: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1609:37: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1609:37: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1609:37: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1609:37: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1609:37: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1614:26: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1614:26: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1614:26: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1614:26: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1614:26: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1614:26: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1619:39: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1619:39: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1619:39: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1619:39: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1619:39: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1619:39: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1621:59: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] size_ioc_int_sts @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/fsl_udc_core.c:1621:59: sparse: expected unsigned int [usertype] size_ioc_int_sts
drivers/usb/gadget/udc/fsl_udc_core.c:1621:59: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/fsl_udc_core.c:1639:28: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1639:28: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1639:28: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1639:28: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1639:28: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:1639:28: sparse: sparse: cast to restricted __le32
drivers/usb/gadget/udc/fsl_udc_core.c:2426:33: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/usb/gadget/udc/fsl_udc_core.c:2426:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct usb_sys_interface [noderef] <asn:2> *static [toplevel] usb_sys_regs @@ got void * @@
drivers/usb/gadget/udc/fsl_udc_core.c:2426:30: sparse: expected struct usb_sys_interface [noderef] <asn:2> *static [toplevel] usb_sys_regs
drivers/usb/gadget/udc/fsl_udc_core.c:2426:30: sparse: got void *
drivers/usb/gadget/udc/fsl_udc_core.c: note: in included file (through include/linux/seqlock.h, include/linux/time.h, include/linux/stat.h, ...):
>> include/linux/spinlock.h:378:9: sparse: sparse: context imbalance in 'reset_queues' - unexpected unlock
>> drivers/usb/gadget/udc/fsl_udc_core.c:2161:27: sparse: sparse: dereference of noderef expression
drivers/usb/gadget/udc/fsl_udc_core.c:2164:27: sparse: sparse: dereference of noderef expression
vim +/reset_queues +378 include/linux/spinlock.h
c2f21ce2e31286a Thomas Gleixner 2009-12-02 375
3490565b633c705 Denys Vlasenko 2015-07-13 376 static __always_inline void spin_unlock(spinlock_t *lock)
c2f21ce2e31286a Thomas Gleixner 2009-12-02 377 {
c2f21ce2e31286a Thomas Gleixner 2009-12-02 @378 raw_spin_unlock(&lock->rlock);
c2f21ce2e31286a Thomas Gleixner 2009-12-02 379 }
c2f21ce2e31286a Thomas Gleixner 2009-12-02 380
:::::: The code at line 378 was first introduced by commit
:::::: c2f21ce2e31286a0a32f8da0a7856e9ca1122ef3 locking: Implement new raw_spinlock
:::::: TO: Thomas Gleixner <tglx@linutronix.de>
:::::: CC: Thomas Gleixner <tglx@linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31825 bytes --]
next reply other threads:[~2020-10-25 21:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-25 21:56 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-08-26 10:22 include/linux/spinlock.h:378:9: sparse: sparse: context imbalance in 'reset_queues' - unexpected unlock kernel test robot
2020-08-26 10:22 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202010260526.lfvT8gJM-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.