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:   Sun, 6 Jun 2021 23:28:23 +0800
From:   kernel test robot <lkp@...el.com>
To:     irqchip-bot for Marc Zyngier <tip-bot2@...utronix.de>,
        linux-kernel@...r.kernel.org
Cc:     kbuild-all@...ts.01.org, Marc Zyngier <maz@...nel.org>,
        tglx@...utronix.de
Subject: Re: [irqchip: irq/irqchip-next] powerpc: Drop dependency between
 asm/irq.h and linux/irqdomain.h

Hi irqchip-bot,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on powerpc/next]
[also build test WARNING on linux/master linus/master v5.13-rc4 next-20210604]
[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/irqchip-bot-for-Marc-Zyngier/powerpc-Drop-dependency-between-asm-irq-h-and-linux-irqdomain-h/20210606-205106
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
        # https://github.com/0day-ci/linux/commit/72415db4cc9ec9987380123553c3222a3568f37f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review irqchip-bot-for-Marc-Zyngier/powerpc-Drop-dependency-between-asm-irq-h-and-linux-irqdomain-h/20210606-205106
        git checkout 72415db4cc9ec9987380123553c3222a3568f37f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

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

All warnings (new ones prefixed by >>):

   arch/powerpc/platforms/ps3/interrupt.c: In function 'ps3_virq_setup':
   arch/powerpc/platforms/ps3/interrupt.c:181:10: error: implicit declaration of function 'irq_create_mapping' [-Werror=implicit-function-declaration]
     181 |  *virq = irq_create_mapping(NULL, outlet);
         |          ^~~~~~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:206:2: error: implicit declaration of function 'irq_dispose_mapping' [-Werror=implicit-function-declaration]
     206 |  irq_dispose_mapping(*virq);
         |  ^~~~~~~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c: At top level:
>> arch/powerpc/platforms/ps3/interrupt.c:670:11: warning: 'enum irq_domain_bus_token' declared inside parameter list will not be visible outside of this definition or declaration
     670 |      enum irq_domain_bus_token bus_token)
         |           ^~~~~~~~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:670:32: error: parameter 3 ('bus_token') has incomplete type
     670 |      enum irq_domain_bus_token bus_token)
         |      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:669:12: error: function declaration isn't a prototype [-Werror=strict-prototypes]
     669 | static int ps3_host_match(struct irq_domain *h, struct device_node *np,
         |            ^~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:676:21: error: variable 'ps3_host_ops' has initializer but incomplete type
     676 | static const struct irq_domain_ops ps3_host_ops = {
         |                     ^~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:677:3: error: 'const struct irq_domain_ops' has no member named 'map'
     677 |  .map = ps3_host_map,
         |   ^~~
>> arch/powerpc/platforms/ps3/interrupt.c:677:9: warning: excess elements in struct initializer
     677 |  .map = ps3_host_map,
         |         ^~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:677:9: note: (near initialization for 'ps3_host_ops')
   arch/powerpc/platforms/ps3/interrupt.c:678:3: error: 'const struct irq_domain_ops' has no member named 'match'
     678 |  .match = ps3_host_match,
         |   ^~~~~
   arch/powerpc/platforms/ps3/interrupt.c:678:11: warning: excess elements in struct initializer
     678 |  .match = ps3_host_match,
         |           ^~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c:678:11: note: (near initialization for 'ps3_host_ops')
   arch/powerpc/platforms/ps3/interrupt.c: In function 'ps3_init_IRQ':
   arch/powerpc/platforms/ps3/interrupt.c:745:9: error: implicit declaration of function 'irq_domain_add_nomap' [-Werror=implicit-function-declaration]
     745 |  host = irq_domain_add_nomap(NULL, PS3_PLUG_MAX + 1, &ps3_host_ops, NULL);
         |         ^~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/platforms/ps3/interrupt.c:745:7: warning: assignment to 'struct irq_domain *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     745 |  host = irq_domain_add_nomap(NULL, PS3_PLUG_MAX + 1, &ps3_host_ops, NULL);
         |       ^
   arch/powerpc/platforms/ps3/interrupt.c:746:2: error: implicit declaration of function 'irq_set_default_host' [-Werror=implicit-function-declaration]
     746 |  irq_set_default_host(host);
         |  ^~~~~~~~~~~~~~~~~~~~
   arch/powerpc/platforms/ps3/interrupt.c: At top level:
   arch/powerpc/platforms/ps3/interrupt.c:676:36: error: storage size of 'ps3_host_ops' isn't known
     676 | static const struct irq_domain_ops ps3_host_ops = {
         |                                    ^~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +670 arch/powerpc/platforms/ps3/interrupt.c

2832a81df7f3cb Geoff Levand           2006-11-23  668  
ad3aedfbb04b3a Marc Zyngier           2015-07-28  669  static int ps3_host_match(struct irq_domain *h, struct device_node *np,
ad3aedfbb04b3a Marc Zyngier           2015-07-28 @670  			  enum irq_domain_bus_token bus_token)
8528ab84ebe7a1 Michael Ellerman       2007-08-28  671  {
8528ab84ebe7a1 Michael Ellerman       2007-08-28  672  	/* Match all */
8528ab84ebe7a1 Michael Ellerman       2007-08-28  673  	return 1;
8528ab84ebe7a1 Michael Ellerman       2007-08-28  674  }
8528ab84ebe7a1 Michael Ellerman       2007-08-28  675  
9f70b8eb3cd37c Grant Likely           2012-01-26  676  static const struct irq_domain_ops ps3_host_ops = {
9633ac8d172f74 Geoff Levand           2007-01-26 @677  	.map = ps3_host_map,
8528ab84ebe7a1 Michael Ellerman       2007-08-28  678  	.match = ps3_host_match,
2832a81df7f3cb Geoff Levand           2006-11-23  679  };
2832a81df7f3cb Geoff Levand           2006-11-23  680  
2832a81df7f3cb Geoff Levand           2006-11-23  681  void __init ps3_register_ipi_debug_brk(unsigned int cpu, unsigned int virq)
2832a81df7f3cb Geoff Levand           2006-11-23  682  {
9633ac8d172f74 Geoff Levand           2007-01-26  683  	struct ps3_private *pd = &per_cpu(ps3_private, cpu);
2832a81df7f3cb Geoff Levand           2006-11-23  684  
32b9074bf8d644 Geoff Levand           2011-11-29  685  	set_bit(63 - virq, &pd->ipi_debug_brk_mask);
2832a81df7f3cb Geoff Levand           2006-11-23  686  
32b9074bf8d644 Geoff Levand           2011-11-29  687  	DBG("%s:%d: cpu %u, virq %u, mask %lxh\n", __func__, __LINE__,
32b9074bf8d644 Geoff Levand           2011-11-29  688  		cpu, virq, pd->ipi_debug_brk_mask);
2832a81df7f3cb Geoff Levand           2006-11-23  689  }
2832a81df7f3cb Geoff Levand           2006-11-23  690  
72f3bea0752877 Geoff Levand           2011-11-08  691  void __init ps3_register_ipi_irq(unsigned int cpu, unsigned int virq)
72f3bea0752877 Geoff Levand           2011-11-08  692  {
72f3bea0752877 Geoff Levand           2011-11-08  693  	struct ps3_private *pd = &per_cpu(ps3_private, cpu);
72f3bea0752877 Geoff Levand           2011-11-08  694  
72f3bea0752877 Geoff Levand           2011-11-08  695  	set_bit(63 - virq, &pd->ipi_mask);
72f3bea0752877 Geoff Levand           2011-11-08  696  
72f3bea0752877 Geoff Levand           2011-11-08  697  	DBG("%s:%d: cpu %u, virq %u, ipi_mask %lxh\n", __func__, __LINE__,
72f3bea0752877 Geoff Levand           2011-11-08  698  		cpu, virq, pd->ipi_mask);
72f3bea0752877 Geoff Levand           2011-11-08  699  }
72f3bea0752877 Geoff Levand           2011-11-08  700  
9263e85aa9e9d3 Geoff Levand           2007-06-16  701  static unsigned int ps3_get_irq(void)
2832a81df7f3cb Geoff Levand           2006-11-23  702  {
69111bac42f5ce Christoph Lameter      2014-10-21  703  	struct ps3_private *pd = this_cpu_ptr(&ps3_private);
861be32ce7f1cf Geoff Levand           2007-01-26  704  	u64 x = (pd->bmp.status & pd->bmp.mask);
9cf9e19667f6ce Benjamin Herrenschmidt 2007-01-26  705  	unsigned int plug;
2832a81df7f3cb Geoff Levand           2006-11-23  706  
2832a81df7f3cb Geoff Levand           2006-11-23  707  	/* check for ipi break first to stop this cpu ASAP */
2832a81df7f3cb Geoff Levand           2006-11-23  708  
32b9074bf8d644 Geoff Levand           2011-11-29  709  	if (x & pd->ipi_debug_brk_mask)
32b9074bf8d644 Geoff Levand           2011-11-29  710  		x &= pd->ipi_debug_brk_mask;
2832a81df7f3cb Geoff Levand           2006-11-23  711  
9cf9e19667f6ce Benjamin Herrenschmidt 2007-01-26  712  	asm volatile("cntlzd %0,%1" : "=r" (plug) : "r" (x));
9cf9e19667f6ce Benjamin Herrenschmidt 2007-01-26  713  	plug &= 0x3f;
2832a81df7f3cb Geoff Levand           2006-11-23  714  
ef24ba7091517d Michael Ellerman       2016-09-06  715  	if (unlikely(!plug)) {
32b9074bf8d644 Geoff Levand           2011-11-29  716  		DBG("%s:%d: no plug found: thread_id %llu\n", __func__,
aab83500709712 Geoff Levand           2007-06-16  717  			__LINE__, pd->thread_id);
9633ac8d172f74 Geoff Levand           2007-01-26  718  		dump_bmp(&per_cpu(ps3_private, 0));
9633ac8d172f74 Geoff Levand           2007-01-26  719  		dump_bmp(&per_cpu(ps3_private, 1));
ef24ba7091517d Michael Ellerman       2016-09-06  720  		return 0;
2832a81df7f3cb Geoff Levand           2006-11-23  721  	}
2832a81df7f3cb Geoff Levand           2006-11-23  722  
2832a81df7f3cb Geoff Levand           2006-11-23  723  #if defined(DEBUG)
9cf9e19667f6ce Benjamin Herrenschmidt 2007-01-26  724  	if (unlikely(plug < NUM_ISA_INTERRUPTS || plug > PS3_PLUG_MAX)) {
9633ac8d172f74 Geoff Levand           2007-01-26  725  		dump_bmp(&per_cpu(ps3_private, 0));
9633ac8d172f74 Geoff Levand           2007-01-26  726  		dump_bmp(&per_cpu(ps3_private, 1));
2832a81df7f3cb Geoff Levand           2006-11-23  727  		BUG();
2832a81df7f3cb Geoff Levand           2006-11-23  728  	}
2832a81df7f3cb Geoff Levand           2006-11-23  729  #endif
72f3bea0752877 Geoff Levand           2011-11-08  730  
72f3bea0752877 Geoff Levand           2011-11-08  731  	/* IPIs are EOIed here. */
72f3bea0752877 Geoff Levand           2011-11-08  732  
72f3bea0752877 Geoff Levand           2011-11-08  733  	if (test_bit(63 - plug, &pd->ipi_mask))
72f3bea0752877 Geoff Levand           2011-11-08  734  		lv1_end_of_interrupt_ext(pd->ppe_id, pd->thread_id, plug);
72f3bea0752877 Geoff Levand           2011-11-08  735  
2832a81df7f3cb Geoff Levand           2006-11-23  736  	return plug;
2832a81df7f3cb Geoff Levand           2006-11-23  737  }
2832a81df7f3cb Geoff Levand           2006-11-23  738  
2832a81df7f3cb Geoff Levand           2006-11-23  739  void __init ps3_init_IRQ(void)
2832a81df7f3cb Geoff Levand           2006-11-23  740  {
2832a81df7f3cb Geoff Levand           2006-11-23  741  	int result;
2832a81df7f3cb Geoff Levand           2006-11-23  742  	unsigned cpu;
bae1d8f19983fb Grant Likely           2012-02-14  743  	struct irq_domain *host;
2832a81df7f3cb Geoff Levand           2006-11-23  744  
6fa6c8e25e95bd Grant Likely           2012-02-15 @745  	host = irq_domain_add_nomap(NULL, PS3_PLUG_MAX + 1, &ps3_host_ops, NULL);
2832a81df7f3cb Geoff Levand           2006-11-23  746  	irq_set_default_host(host);
2832a81df7f3cb Geoff Levand           2006-11-23  747  
2832a81df7f3cb Geoff Levand           2006-11-23  748  	for_each_possible_cpu(cpu) {
9633ac8d172f74 Geoff Levand           2007-01-26  749  		struct ps3_private *pd = &per_cpu(ps3_private, cpu);
2832a81df7f3cb Geoff Levand           2006-11-23  750  
aab83500709712 Geoff Levand           2007-06-16  751  		lv1_get_logical_ppe_id(&pd->ppe_id);
aab83500709712 Geoff Levand           2007-06-16  752  		pd->thread_id = get_hard_smp_processor_id(cpu);
32b9074bf8d644 Geoff Levand           2011-11-29  753  		spin_lock_init(&pd->bmp_lock);
2832a81df7f3cb Geoff Levand           2006-11-23  754  
32b9074bf8d644 Geoff Levand           2011-11-29  755  		DBG("%s:%d: ppe_id %llu, thread_id %llu, bmp %lxh\n",
aab83500709712 Geoff Levand           2007-06-16  756  			__func__, __LINE__, pd->ppe_id, pd->thread_id,
407e24a0c78f58 Geoff Levand           2007-01-26  757  			ps3_mm_phys_to_lpar(__pa(&pd->bmp)));
407e24a0c78f58 Geoff Levand           2007-01-26  758  
aab83500709712 Geoff Levand           2007-06-16  759  		result = lv1_configure_irq_state_bitmap(pd->ppe_id,
aab83500709712 Geoff Levand           2007-06-16  760  			pd->thread_id, ps3_mm_phys_to_lpar(__pa(&pd->bmp)));
2832a81df7f3cb Geoff Levand           2006-11-23  761  
2832a81df7f3cb Geoff Levand           2006-11-23  762  		if (result)
32b9074bf8d644 Geoff Levand           2011-11-29  763  			FAIL("%s:%d: lv1_configure_irq_state_bitmap failed:"
2832a81df7f3cb Geoff Levand           2006-11-23  764  				" %s\n", __func__, __LINE__,
2832a81df7f3cb Geoff Levand           2006-11-23  765  				ps3_result(result));
2832a81df7f3cb Geoff Levand           2006-11-23  766  	}
2832a81df7f3cb Geoff Levand           2006-11-23  767  
2832a81df7f3cb Geoff Levand           2006-11-23  768  	ppc_md.get_irq = ps3_get_irq;
2832a81df7f3cb Geoff Levand           2006-11-23  769  }
9263e85aa9e9d3 Geoff Levand           2007-06-16  770  

---
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" (73386 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ