Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Mukesh Kumar Chaurasiya <mchauras@linux.ibm.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC V1 6/6] powerpc: Enable Generic Entry/Exit for syscalls.
Date: Wed, 30 Apr 2025 05:13:15 +0800	[thread overview]
Message-ID: <202504300415.c8gU3WVo-lkp@intel.com> (raw)
In-Reply-To: <20250428152225.66044-9-mchauras@linux.ibm.com>

Hi Mukesh,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on powerpc/next]
[also build test ERROR on powerpc/fixes linus/master v6.15-rc4 next-20250429]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mukesh-Kumar-Chaurasiya/powerpc-rename-arch_irq_disabled_regs/20250428-232533
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
patch link:    https://lore.kernel.org/r/20250428152225.66044-9-mchauras%40linux.ibm.com
patch subject: [RFC V1 6/6] powerpc: Enable Generic Entry/Exit for syscalls.
config: powerpc-randconfig-001-20250430 (https://download.01.org/0day-ci/archive/20250430/202504300415.c8gU3WVo-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250430/202504300415.c8gU3WVo-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504300415.c8gU3WVo-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/powerpc/kernel/interrupt.c:212:16: error: use of undeclared identifier 'local_paca'
     212 |         if (unlikely((local_paca->generic_fw_flags & GFW_RESTORE_ALL) == GFW_RESTORE_ALL)) {
         |                       ^
   arch/powerpc/kernel/interrupt.c:214:3: error: use of undeclared identifier 'local_paca'
     214 |                 local_paca->generic_fw_flags &= ~GFW_RESTORE_ALL;
         |                 ^
   2 errors generated.
--
>> arch/powerpc/kernel/signal.c:376:2: error: use of undeclared identifier 'local_paca'
     376 |         local_paca->generic_fw_flags |= GFW_RESTORE_ALL;
         |         ^
   1 error generated.


vim +/local_paca +212 arch/powerpc/kernel/interrupt.c

   153	
   154	/*
   155	 * This should be called after a syscall returns, with r3 the return value
   156	 * from the syscall. If this function returns non-zero, the system call
   157	 * exit assembly should additionally load all GPR registers and CTR and XER
   158	 * from the interrupt frame.
   159	 *
   160	 * The function graph tracer can not trace the return side of this function,
   161	 * because RI=0 and soft mask state is "unreconciled", so it is marked notrace.
   162	 */
   163	notrace unsigned long syscall_exit_prepare(unsigned long r3,
   164						   struct pt_regs *regs,
   165						   long scv)
   166	{
   167		unsigned long ti_flags;
   168		unsigned long ret = 0;
   169		bool is_not_scv = !IS_ENABLED(CONFIG_PPC_BOOK3S_64) || !scv;
   170	
   171		kuap_assert_locked();
   172	
   173		regs->result = r3;
   174	
   175		ti_flags = read_thread_flags();
   176	
   177		if (unlikely(r3 >= (unsigned long)-MAX_ERRNO) && is_not_scv) {
   178			if (likely(!(ti_flags & (_TIF_NOERROR | _TIF_RESTOREALL)))) {
   179				r3 = -r3;
   180				regs->ccr |= 0x10000000; /* Set SO bit in CR */
   181			}
   182		}
   183	
   184		if (unlikely(ti_flags & _TIF_PERSYSCALL_MASK)) {
   185			if (ti_flags & _TIF_RESTOREALL)
   186				ret = _TIF_RESTOREALL;
   187			else
   188				regs->gpr[3] = r3;
   189			clear_bits(_TIF_PERSYSCALL_MASK, &current_thread_info()->flags);
   190		} else {
   191			regs->gpr[3] = r3;
   192		}
   193	
   194		if (unlikely(ti_flags & _TIF_SYSCALL_DOTRACE)) {
   195			ret |= _TIF_RESTOREALL;
   196		}
   197	
   198	again:
   199		syscall_exit_to_user_mode(regs);
   200	
   201		user_enter_irqoff();
   202		if (!prep_irq_for_enabled_exit(true)) {
   203			user_exit_irqoff();
   204			local_irq_enable();
   205			local_irq_disable();
   206			goto again;
   207		}
   208	
   209		/* Restore user access locks last */
   210		kuap_user_restore(regs);
   211	
 > 212		if (unlikely((local_paca->generic_fw_flags & GFW_RESTORE_ALL) == GFW_RESTORE_ALL)) {
   213			ret |= _TIF_RESTOREALL;
   214			local_paca->generic_fw_flags &= ~GFW_RESTORE_ALL;
   215		}
   216	#ifdef CONFIG_PPC64
   217		regs->exit_result = ret;
   218	#endif
   219	
   220		return ret;
   221	}
   222	

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

           reply	other threads:[~2025-04-29 21:13 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20250428152225.66044-9-mchauras@linux.ibm.com>]

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=202504300415.c8gU3WVo-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=mchauras@linux.ibm.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox