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>] [day] [month] [year] [list]
Message-ID: <201906181026.kYEBrHy3%lkp@intel.com>
Date:   Tue, 18 Jun 2019 10:25:36 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Ingo Molnar <mingo@...nel.org>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        tipbuild@...or.com, Thomas Gleixner <tglx@...utronix.de>
Subject: [tip:WIP.x86/hpet 14/29] arch/x86/kernel/hpet.c:500:6: error:
 implicit declaration of function 'request_irq'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/hpet
head:   e68a1d0fce032346dbfeca0140d90da75796bab9
commit: 64cdfa23aeb4a6be1a3c0d84bc3fd269581767e5 [14/29] x86/hpet: Remove not required includes
config: i386-randconfig-n004-201924 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        git checkout 64cdfa23aeb4a6be1a3c0d84bc3fd269581767e5
        # save the attached .config to linux build tree
        make ARCH=i386 

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

All errors (new ones prefixed by >>):

   arch/x86/kernel/hpet.c: In function 'hpet_setup_irq':
>> arch/x86/kernel/hpet.c:500:6: error: implicit declaration of function 'request_irq' [-Werror=implicit-function-declaration]
     if (request_irq(dev->irq, hpet_interrupt_handler,
         ^
>> arch/x86/kernel/hpet.c:501:4: error: 'IRQF_TIMER' undeclared (first use in this function)
       IRQF_TIMER | IRQF_NOBALANCING,
       ^
   arch/x86/kernel/hpet.c:501:4: note: each undeclared identifier is reported only once for each function it appears in
>> arch/x86/kernel/hpet.c:501:17: error: 'IRQF_NOBALANCING' undeclared (first use in this function)
       IRQF_TIMER | IRQF_NOBALANCING,
                    ^
>> arch/x86/kernel/hpet.c:505:2: error: implicit declaration of function 'disable_irq' [-Werror=implicit-function-declaration]
     disable_irq(dev->irq);
     ^
>> arch/x86/kernel/hpet.c:506:2: error: implicit declaration of function 'irq_set_affinity' [-Werror=implicit-function-declaration]
     irq_set_affinity(dev->irq, cpumask_of(dev->cpu));
     ^
>> arch/x86/kernel/hpet.c:507:2: error: implicit declaration of function 'enable_irq' [-Werror=implicit-function-declaration]
     enable_irq(dev->irq);
     ^
   arch/x86/kernel/hpet.c: In function 'hpet_cpuhp_dead':
>> arch/x86/kernel/hpet.c:579:2: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration]
     free_irq(hdev->irq, hdev);
     ^
   cc1: some warnings being treated as errors

vim +/request_irq +500 arch/x86/kernel/hpet.c

26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  499  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05 @500  	if (request_irq(dev->irq, hpet_interrupt_handler,
d20d2efb Michael Opdenacker            2014-03-04 @501  			IRQF_TIMER | IRQF_NOBALANCING,
507fa3a3 Thomas Gleixner               2009-06-14  502  			dev->name, dev))
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  503  		return -1;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  504  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05 @505  	disable_irq(dev->irq);
0de26520 Rusty Russell                 2008-12-13 @506  	irq_set_affinity(dev->irq, cpumask_of(dev->cpu));
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05 @507  	enable_irq(dev->irq);
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  508  
35ed6f67 Thomas Gleixner               2019-06-15  509  	pr_debug("%s irq %d for MSI\n", dev->name, dev->irq);
c81bba49 Yinghai Lu                    2008-09-25  510  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  511  	return 0;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  512  }
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  513  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  514  static void init_one_hpet_msi_clockevent(struct hpet_dev *hdev, int cpu)
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  515  {
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  516  	struct clock_event_device *evt = &hdev->evt;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  517  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  518  	if (!(hdev->flags & HPET_DEV_VALID))
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  519  		return;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  520  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  521  	hdev->cpu = cpu;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  522  	per_cpu(cpu_hpet_dev, cpu) = hdev;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  523  	evt->name = hdev->name;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  524  	hpet_setup_irq(hdev);
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  525  	evt->irq = hdev->irq;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  526  
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  527  	evt->rating = 110;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  528  	evt->features = CLOCK_EVT_FEAT_ONESHOT;
c8b5db7d Viresh Kumar                  2015-07-16  529  	if (hdev->flags & HPET_DEV_PERI_CAP) {
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  530  		evt->features |= CLOCK_EVT_FEAT_PERIODIC;
c8b5db7d Viresh Kumar                  2015-07-16  531  		evt->set_state_periodic = hpet_msi_set_periodic;
c8b5db7d Viresh Kumar                  2015-07-16  532  	}
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  533  
c8b5db7d Viresh Kumar                  2015-07-16  534  	evt->set_state_shutdown = hpet_msi_shutdown;
c8b5db7d Viresh Kumar                  2015-07-16  535  	evt->set_state_oneshot = hpet_msi_set_oneshot;
c8b5db7d Viresh Kumar                  2015-07-16  536  	evt->tick_resume = hpet_msi_resume;
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  537  	evt->set_next_event = hpet_msi_next_event;
320ab2b0 Rusty Russell                 2008-12-13  538  	evt->cpumask = cpumask_of(hdev->cpu);
ab0e08f1 Thomas Gleixner               2011-05-18  539  
ab0e08f1 Thomas Gleixner               2011-05-18  540  	clockevents_config_and_register(evt, hpet_freq, HPET_MIN_PROG_DELTA,
ab0e08f1 Thomas Gleixner               2011-05-18  541  					0x7FFFFFFF);
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  542  }
26afe5f2 venkatesh.pallipadi@...el.com 2008-09-05  543  
b6968fc8 Thomas Gleixner               2019-06-15  544  static struct hpet_dev *hpet_get_unused_timer(void)
b6968fc8 Thomas Gleixner               2019-06-15  545  {
b6968fc8 Thomas Gleixner               2019-06-15  546  	int i;
b6968fc8 Thomas Gleixner               2019-06-15  547  
b6968fc8 Thomas Gleixner               2019-06-15  548  	if (!hpet_devs)
b6968fc8 Thomas Gleixner               2019-06-15  549  		return NULL;
b6968fc8 Thomas Gleixner               2019-06-15  550  
b6968fc8 Thomas Gleixner               2019-06-15  551  	for (i = 0; i < hpet_num_timers; i++) {
b6968fc8 Thomas Gleixner               2019-06-15  552  		struct hpet_dev *hdev = &hpet_devs[i];
b6968fc8 Thomas Gleixner               2019-06-15  553  
b6968fc8 Thomas Gleixner               2019-06-15  554  		if (!(hdev->flags & HPET_DEV_VALID))
b6968fc8 Thomas Gleixner               2019-06-15  555  			continue;
b6968fc8 Thomas Gleixner               2019-06-15  556  		if (test_and_set_bit(HPET_DEV_USED_BIT,
b6968fc8 Thomas Gleixner               2019-06-15  557  			(unsigned long *)&hdev->flags))
b6968fc8 Thomas Gleixner               2019-06-15  558  			continue;
b6968fc8 Thomas Gleixner               2019-06-15  559  		return hdev;
b6968fc8 Thomas Gleixner               2019-06-15  560  	}
b6968fc8 Thomas Gleixner               2019-06-15  561  	return NULL;
b6968fc8 Thomas Gleixner               2019-06-15  562  }
b6968fc8 Thomas Gleixner               2019-06-15  563  
b6968fc8 Thomas Gleixner               2019-06-15  564  static int hpet_cpuhp_online(unsigned int cpu)
b6968fc8 Thomas Gleixner               2019-06-15  565  {
b6968fc8 Thomas Gleixner               2019-06-15  566  	struct hpet_dev *hdev = hpet_get_unused_timer();
b6968fc8 Thomas Gleixner               2019-06-15  567  
b6968fc8 Thomas Gleixner               2019-06-15  568  	if (hdev)
b6968fc8 Thomas Gleixner               2019-06-15  569  		init_one_hpet_msi_clockevent(hdev, cpu);
b6968fc8 Thomas Gleixner               2019-06-15  570  	return 0;
b6968fc8 Thomas Gleixner               2019-06-15  571  }
b6968fc8 Thomas Gleixner               2019-06-15  572  
b6968fc8 Thomas Gleixner               2019-06-15  573  static int hpet_cpuhp_dead(unsigned int cpu)
b6968fc8 Thomas Gleixner               2019-06-15  574  {
b6968fc8 Thomas Gleixner               2019-06-15  575  	struct hpet_dev *hdev = per_cpu(cpu_hpet_dev, cpu);
b6968fc8 Thomas Gleixner               2019-06-15  576  
b6968fc8 Thomas Gleixner               2019-06-15  577  	if (!hdev)
b6968fc8 Thomas Gleixner               2019-06-15  578  		return 0;
b6968fc8 Thomas Gleixner               2019-06-15 @579  	free_irq(hdev->irq, hdev);
b6968fc8 Thomas Gleixner               2019-06-15  580  	hdev->flags &= ~HPET_DEV_USED;
b6968fc8 Thomas Gleixner               2019-06-15  581  	per_cpu(cpu_hpet_dev, cpu) = NULL;
b6968fc8 Thomas Gleixner               2019-06-15  582  	return 0;
b6968fc8 Thomas Gleixner               2019-06-15  583  }
b6968fc8 Thomas Gleixner               2019-06-15  584  

:::::: The code at line 500 was first introduced by commit
:::::: 26afe5f2fbf06ea0765aaa316640c4dd472310c0 x86: HPET_MSI Initialise per-cpu HPET timers

:::::: TO: venkatesh.pallipadi@...el.com <venkatesh.pallipadi@...el.com>
:::::: CC: Ingo Molnar <mingo@...e.hu>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ