From: kernel test robot <lkp@intel.com> To: Thomas Gleixner <tglx@linutronix.de>, Oleksandr Natalenko <oleksandr@natalenko.name>, bugzilla-daemon@bugzilla.kernel.org Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com, jdelvare@suse.de, wsa@kernel.org, benjamin.tissoires@redhat.com, rui.zhang@intel.com, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Marc Zyngier <maz@kernel.org>, Peter Zijlstra <peterz@infradead.org> Subject: Re: genirq, i2c: Provide and use generic_dispatch_irq() Date: Sun, 6 Dec 2020 04:19:56 +0800 [thread overview] Message-ID: <202012060408.lUHxXn56-lkp@intel.com> (raw) In-Reply-To: <87zh2s8buh.fsf@nanos.tec.linutronix.de> [-- Attachment #1: Type: text/plain, Size: 5682 bytes --] Hi Thomas, I love your patch! Perhaps something to improve: [auto build test WARNING on wsa/i2c/for-next] [also build test WARNING on tip/irq/core linux/master linus/master v5.10-rc6 next-20201204] [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/Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: x86_64-randconfig-a016-20201206 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project fc7818f5d6906555cebad2c2e7c313a383b9cb82) 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 # https://github.com/0day-ci/linux/commit/79d4e8b739f9018dc2d95a25baf1199fbcf1fb03 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308 git checkout 79d4e8b739f9018dc2d95a25baf1199fbcf1fb03 # 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@intel.com> All warnings (new ones prefixed by >>): >> kernel/irq/irqdesc.c:669:2: warning: comparison of distinct pointer types ('unsigned long *' and 'typeof (&flags) *' (aka 'unsigned long **')) [-Wcompare-distinct-pointer-types] local_irq_save(&flags); ^~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:225:36: note: expanded from macro 'local_irq_save' #define local_irq_save(flags) do { raw_local_irq_save(flags); } while (0) ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:159:3: note: expanded from macro 'raw_local_irq_save' typecheck(unsigned long, flags); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/typecheck.h:12:18: note: expanded from macro 'typecheck' (void)(&__dummy == &__dummy2); \ ~~~~~~~~ ^ ~~~~~~~~~ kernel/irq/irqdesc.c:669:2: error: expression is not assignable local_irq_save(&flags); ^ ~~~~~~ include/linux/irqflags.h:225:36: note: expanded from macro 'local_irq_save' #define local_irq_save(flags) do { raw_local_irq_save(flags); } while (0) ^ ~~~~~ include/linux/irqflags.h:160:9: note: expanded from macro 'raw_local_irq_save' flags = arch_local_irq_save(); \ ~~~~~ ^ kernel/irq/irqdesc.c:671:2: warning: comparison of distinct pointer types ('unsigned long *' and 'typeof (&flags) *' (aka 'unsigned long **')) [-Wcompare-distinct-pointer-types] local_irq_restore(&flags); ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:226:39: note: expanded from macro 'local_irq_restore' #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:164:3: note: expanded from macro 'raw_local_irq_restore' typecheck(unsigned long, flags); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/typecheck.h:12:18: note: expanded from macro 'typecheck' (void)(&__dummy == &__dummy2); \ ~~~~~~~~ ^ ~~~~~~~~~ >> kernel/irq/irqdesc.c:671:20: warning: incompatible pointer to integer conversion passing 'unsigned long *' to parameter of type 'unsigned long'; remove & [-Wint-conversion] local_irq_restore(&flags); ^~~~~~ include/linux/irqflags.h:226:61: note: expanded from macro 'local_irq_restore' #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) ^~~~~ include/linux/irqflags.h:165:26: note: expanded from macro 'raw_local_irq_restore' arch_local_irq_restore(flags); \ ^~~~~ arch/x86/include/asm/irqflags.h:82:66: note: passing argument to parameter 'flags' here static __always_inline void arch_local_irq_restore(unsigned long flags) ^ 3 warnings and 1 error generated. vim +669 kernel/irq/irqdesc.c 654 655 /** 656 * generic_dispatch_irq - Dispatch an interrupt from an interrupt handler 657 * @irq: The irq number to handle 658 * 659 * A wrapper around generic_handle_irq() which ensures that interrupts are 660 * disabled when the primary handler of the dispatched irq is invoked. 661 * This is useful for interrupt handlers with dispatching to be safe for 662 * the forced threaded case. 663 */ 664 int generic_dispatch_irq(unsigned int irq) 665 { 666 unsigned long flags; 667 int ret; 668 > 669 local_irq_save(&flags); 670 ret = generic_handle_irq(irq); > 671 local_irq_restore(&flags); 672 return ret; 673 } 674 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 37656 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: genirq, i2c: Provide and use generic_dispatch_irq() Date: Sun, 06 Dec 2020 04:19:56 +0800 [thread overview] Message-ID: <202012060408.lUHxXn56-lkp@intel.com> (raw) In-Reply-To: <87zh2s8buh.fsf@nanos.tec.linutronix.de> [-- Attachment #1: Type: text/plain, Size: 5789 bytes --] Hi Thomas, I love your patch! Perhaps something to improve: [auto build test WARNING on wsa/i2c/for-next] [also build test WARNING on tip/irq/core linux/master linus/master v5.10-rc6 next-20201204] [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/Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: x86_64-randconfig-a016-20201206 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project fc7818f5d6906555cebad2c2e7c313a383b9cb82) 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 # https://github.com/0day-ci/linux/commit/79d4e8b739f9018dc2d95a25baf1199fbcf1fb03 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308 git checkout 79d4e8b739f9018dc2d95a25baf1199fbcf1fb03 # 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@intel.com> All warnings (new ones prefixed by >>): >> kernel/irq/irqdesc.c:669:2: warning: comparison of distinct pointer types ('unsigned long *' and 'typeof (&flags) *' (aka 'unsigned long **')) [-Wcompare-distinct-pointer-types] local_irq_save(&flags); ^~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:225:36: note: expanded from macro 'local_irq_save' #define local_irq_save(flags) do { raw_local_irq_save(flags); } while (0) ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:159:3: note: expanded from macro 'raw_local_irq_save' typecheck(unsigned long, flags); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/typecheck.h:12:18: note: expanded from macro 'typecheck' (void)(&__dummy == &__dummy2); \ ~~~~~~~~ ^ ~~~~~~~~~ kernel/irq/irqdesc.c:669:2: error: expression is not assignable local_irq_save(&flags); ^ ~~~~~~ include/linux/irqflags.h:225:36: note: expanded from macro 'local_irq_save' #define local_irq_save(flags) do { raw_local_irq_save(flags); } while (0) ^ ~~~~~ include/linux/irqflags.h:160:9: note: expanded from macro 'raw_local_irq_save' flags = arch_local_irq_save(); \ ~~~~~ ^ kernel/irq/irqdesc.c:671:2: warning: comparison of distinct pointer types ('unsigned long *' and 'typeof (&flags) *' (aka 'unsigned long **')) [-Wcompare-distinct-pointer-types] local_irq_restore(&flags); ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:226:39: note: expanded from macro 'local_irq_restore' #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:164:3: note: expanded from macro 'raw_local_irq_restore' typecheck(unsigned long, flags); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/typecheck.h:12:18: note: expanded from macro 'typecheck' (void)(&__dummy == &__dummy2); \ ~~~~~~~~ ^ ~~~~~~~~~ >> kernel/irq/irqdesc.c:671:20: warning: incompatible pointer to integer conversion passing 'unsigned long *' to parameter of type 'unsigned long'; remove & [-Wint-conversion] local_irq_restore(&flags); ^~~~~~ include/linux/irqflags.h:226:61: note: expanded from macro 'local_irq_restore' #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0) ^~~~~ include/linux/irqflags.h:165:26: note: expanded from macro 'raw_local_irq_restore' arch_local_irq_restore(flags); \ ^~~~~ arch/x86/include/asm/irqflags.h:82:66: note: passing argument to parameter 'flags' here static __always_inline void arch_local_irq_restore(unsigned long flags) ^ 3 warnings and 1 error generated. vim +669 kernel/irq/irqdesc.c 654 655 /** 656 * generic_dispatch_irq - Dispatch an interrupt from an interrupt handler 657 * @irq: The irq number to handle 658 * 659 * A wrapper around generic_handle_irq() which ensures that interrupts are 660 * disabled when the primary handler of the dispatched irq is invoked. 661 * This is useful for interrupt handlers with dispatching to be safe for 662 * the forced threaded case. 663 */ 664 int generic_dispatch_irq(unsigned int irq) 665 { 666 unsigned long flags; 667 int ret; 668 > 669 local_irq_save(&flags); 670 ret = generic_handle_irq(irq); > 671 local_irq_restore(&flags); 672 return ret; 673 } 674 --- 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: 37656 bytes --]
next prev parent reply other threads:[~2020-12-05 20:21 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-202453-19117@https.bugzilla.kernel.org/> [not found] ` <bug-202453-19117-0k1QQBMPTi@https.bugzilla.kernel.org/> 2020-12-04 20:19 ` [Bug 202453] TRACE irq/18-i801_smb Tainted when enabled threadirqs in kernel commandline Oleksandr Natalenko 2020-12-05 16:19 ` Thomas Gleixner 2020-12-05 16:24 ` Oleksandr Natalenko 2020-12-05 18:59 ` Thomas Gleixner 2020-12-05 20:19 ` genirq, i2c: Provide and use generic_dispatch_irq() kernel test robot 2020-12-05 20:19 ` kernel test robot 2020-12-05 20:19 ` kernel test robot [this message] 2020-12-05 20:19 ` kernel test robot 2020-12-05 21:27 ` kernel test robot 2020-12-05 21:27 ` kernel test robot 2021-01-04 20:58 ` [Bug 202453] TRACE irq/18-i801_smb Tainted when enabled threadirqs in kernel commandline Wolfram Sang
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=202012060408.lUHxXn56-lkp@intel.com \ --to=lkp@intel.com \ --cc=benjamin.tissoires@redhat.com \ --cc=bugzilla-daemon@bugzilla.kernel.org \ --cc=clang-built-linux@googlegroups.com \ --cc=jdelvare@suse.de \ --cc=kbuild-all@lists.01.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=maz@kernel.org \ --cc=oleksandr@natalenko.name \ --cc=peterz@infradead.org \ --cc=rui.zhang@intel.com \ --cc=tglx@linutronix.de \ --cc=wsa@kernel.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: linkBe 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.