All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Mukesh Kumar Chaurasiya <mchauras@linux.ibm.com>
Cc: 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:17 +0800	[thread overview]
Message-ID: <202504300413.Lm1Kilgl-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-003-20250430 (https://download.01.org/0day-ci/archive/20250430/202504300413.Lm1Kilgl-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250430/202504300413.Lm1Kilgl-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/202504300413.Lm1Kilgl-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   In file included from include/asm-generic/bug.h:5:0,
                    from arch/powerpc/include/asm/bug.h:116,
                    from include/linux/bug.h:5,
                    from include/linux/thread_info.h:13,
                    from arch/powerpc/include/asm/processor.h:41,
                    from include/linux/sched.h:13,
                    from include/linux/context_tracking.h:5,
                    from arch/powerpc/kernel/interrupt.c:3:
   arch/powerpc/kernel/interrupt.c: In function 'syscall_exit_prepare':
>> arch/powerpc/kernel/interrupt.c:212:16: error: 'local_paca' undeclared (first use in this function); did you mean 'local_inc'?
     if (unlikely((local_paca->generic_fw_flags & GFW_RESTORE_ALL) == GFW_RESTORE_ALL)) {
                   ^
   include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   arch/powerpc/kernel/interrupt.c:212:16: note: each undeclared identifier is reported only once for each function it appears in
     if (unlikely((local_paca->generic_fw_flags & GFW_RESTORE_ALL) == GFW_RESTORE_ALL)) {
                   ^
   include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
--
   arch/powerpc/kernel/signal.c: In function 'arch_do_signal_or_restart':
>> arch/powerpc/kernel/signal.c:376:2: error: 'local_paca' undeclared (first use in this function); did you mean 'local_inc'?
     local_paca->generic_fw_flags |= GFW_RESTORE_ALL;
     ^~~~~~~~~~
     local_inc
   arch/powerpc/kernel/signal.c:376:2: note: each undeclared identifier is reported only once for each function it appears in
--
>> arch/powerpc/kernel/ptrace/ptrace.c:196:12: warning: 'do_seccomp' defined but not used [-Wunused-function]
    static int do_seccomp(struct pt_regs *regs)
               ^~~~~~~~~~


vim +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

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

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-28 15:22 [RFC V1 0/6] Generic Entry/Exit support for ppc64 Mukesh Kumar Chaurasiya
2025-04-28 15:22 ` [RFC V1 1/6] powerpc: rename arch_irq_disabled_regs Mukesh Kumar Chaurasiya
2025-04-28 15:22 ` [RFC V1 2/6] powerpc: Prepare to build with genreic entry/exit framework Mukesh Kumar Chaurasiya
2025-04-28 15:22 ` [RFC V1 3/6] powerpc: introduce arch_enter_from_user_mode Mukesh Kumar Chaurasiya
2025-04-28 15:22 ` [RFC V1 4/6] powerpc: Add flag in paca for register restore state Mukesh Kumar Chaurasiya
2025-04-28 15:22 ` [RFC V1 5/6] powerpc: Introduce syscall exit arch functions Mukesh Kumar Chaurasiya
2025-04-28 15:22 ` [RFC V1 6/6] powerpc: Enable Generic Entry/Exit for syscalls Mukesh Kumar Chaurasiya
2025-04-29  6:11   ` Shrikanth Hegde
2025-05-02  8:01     ` Mukesh Kumar Chaurasiya
2025-04-29 21:13   ` kernel test robot
2025-04-29 21:13   ` kernel test robot [this message]
2025-04-28 15:52 ` [RFC V1 0/6] Generic Entry/Exit support for ppc64 Mukesh Kumar Chaurasiya
2025-05-05 17:08 ` Ankur Arora
2025-05-05 17:18   ` Ankur Arora

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=202504300413.Lm1Kilgl-lkp@intel.com \
    --to=lkp@intel.com \
    --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 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.