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: <202512180805.DvPn2cDt-lkp@intel.com>
Date: Thu, 18 Dec 2025 08:13:44 +0800
From: kernel test robot <lkp@...el.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	linux-kernel@...r.kernel.org, x86@...nel.org
Subject: [tip:x86/irq 2/3] arch/x86/kernel/irq.c:461:24: error: call to
 undeclared function '__this_cpu_ptr'; ISO C99 and later do not support
 implicit function declarations

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/irq
head:   64d4c88270cf90089434e3db67ed443fd982a9a2
commit: 329e2051476858f264e2c217c6db4e68e203d5db [2/3] x86/irq: Cleanup posted MSI code
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251218/202512180805.DvPn2cDt-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251218/202512180805.DvPn2cDt-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512180805.DvPn2cDt-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/x86/kernel/irq.c:461:24: error: call to undeclared function '__this_cpu_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     461 |         struct pi_desc *pid = __this_cpu_ptr(&posted_msi_pi_desc);
         |                               ^
>> arch/x86/kernel/irq.c:461:18: error: incompatible integer to pointer conversion initializing 'struct pi_desc *' with an expression of type 'int' [-Wint-conversion]
     461 |         struct pi_desc *pid = __this_cpu_ptr(&posted_msi_pi_desc);
         |                         ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.


vim +/__this_cpu_ptr +461 arch/x86/kernel/irq.c

   454	
   455	/*
   456	 * For MSIs that are delivered as posted interrupts, the CPU notifications
   457	 * can be coalesced if the MSIs arrive in high frequency bursts.
   458	 */
   459	DEFINE_IDTENTRY_SYSVEC(sysvec_posted_msi_notification)
   460	{
 > 461		struct pi_desc *pid = __this_cpu_ptr(&posted_msi_pi_desc);
   462		struct pt_regs *old_regs = set_irq_regs(regs);
   463	
   464		/* Mark the handler active for intel_ack_posted_msi_irq() */
   465		__this_cpu_write(posted_msi_handler_active, true);
   466		inc_irq_stat(posted_msi_notification_count);
   467		irq_enter();
   468	
   469		/*
   470		 * Loop only MAX_POSTED_MSI_COALESCING_LOOP - 1 times here to take
   471		 * the final handle_pending_pir() invocation after clearing the
   472		 * outstanding notification bit into account.
   473		 */
   474		for (int i = 1; i < MAX_POSTED_MSI_COALESCING_LOOP; i++) {
   475			if (!handle_pending_pir(pid->pir, regs))
   476				break;
   477		}
   478	
   479		/*
   480		 * Clear the outstanding notification bit to rearm the notification
   481		 * mechanism.
   482		 */
   483		pi_clear_on(pid);
   484	
   485		/*
   486		 * Clearing the ON bit can race with a notification. Process the
   487		 * PIR bits one last time so that handling the new interrupts is
   488		 * not delayed until the next notification happens.
   489		 */
   490		handle_pending_pir(pid->pir, regs);
   491	
   492		apic_eoi();
   493		irq_exit();
   494		__this_cpu_write(posted_msi_handler_active, false);
   495		set_irq_regs(old_regs);
   496	}
   497	#endif /* X86_POSTED_MSI */
   498	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ