From: kernel test robot <lkp@intel.com>
To: Mukesh Kumar Chaurasiya <mkchauras@linux.ibm.com>,
maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com,
christophe.leroy@csgroup.eu, oleg@redhat.com, kees@kernel.org,
luto@amacapital.net, wad@chromium.org, mchauras@linux.ibm.com,
thuth@redhat.com, sshegde@linux.ibm.com, charlie@rivosinc.com,
macro@orcam.me.uk, akpm@linux-foundation.org, ldv@strace.io,
deller@gmx.de, ankur.a.arora@oracle.com,
segher@kernel.crashing.org, tglx@linutronix.de,
thomas.weissschuh@linutronix.de, peterz@infradead.org,
menglong8.dong@gmail.com, bigeasy@linutronix.de,
namcao@linutronix.de, mingo@kernel.org,
atrajeev@linux.vnet.ibm.com, mark.barnett@arm.com,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v2 7/8] powerpc: Enable IRQ generic entry/exit path.
Date: Thu, 18 Dec 2025 05:32:33 +0800 [thread overview]
Message-ID: <202512180511.ujibhcpR-lkp@intel.com> (raw)
In-Reply-To: <20251214130245.43664-8-mkchauras@linux.ibm.com>
Hi Mukesh,
kernel test robot noticed the following build warnings:
[auto build test WARNING on powerpc/next]
[also build test WARNING on powerpc/fixes linus/master v6.19-rc1]
[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/20251214-210813
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
patch link: https://lore.kernel.org/r/20251214130245.43664-8-mkchauras%40linux.ibm.com
patch subject: [PATCH v2 7/8] powerpc: Enable IRQ generic entry/exit path.
config: powerpc-randconfig-r072-20251215 (https://download.01.org/0day-ci/archive/20251218/202512180511.ujibhcpR-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 8.5.0
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/202512180511.ujibhcpR-lkp@intel.com/
smatch warnings:
arch/powerpc/include/asm/entry-common.h:433 arch_enter_from_user_mode() warn: inconsistent indenting
vim +433 arch/powerpc/include/asm/entry-common.h
2b0f05f77f11f8 Mukesh Kumar Chaurasiya 2025-12-14 396
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 397 static __always_inline void arch_enter_from_user_mode(struct pt_regs *regs)
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 398 {
37ad0d88d9bff7 Mukesh Kumar Chaurasiya 2025-12-14 399 kuap_lock();
37ad0d88d9bff7 Mukesh Kumar Chaurasiya 2025-12-14 400
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 401 if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG))
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 402 BUG_ON(irq_soft_mask_return() != IRQS_ALL_DISABLED);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 403
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 404 BUG_ON(regs_is_unrecoverable(regs));
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 405 BUG_ON(!user_mode(regs));
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 406 BUG_ON(regs_irqs_disabled(regs));
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 407
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 408 #ifdef CONFIG_PPC_PKEY
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 409 if (mmu_has_feature(MMU_FTR_PKEY) && trap_is_syscall(regs)) {
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 410 unsigned long amr, iamr;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 411 bool flush_needed = false;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 412 /*
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 413 * When entering from userspace we mostly have the AMR/IAMR
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 414 * different from kernel default values. Hence don't compare.
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 415 */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 416 amr = mfspr(SPRN_AMR);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 417 iamr = mfspr(SPRN_IAMR);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 418 regs->amr = amr;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 419 regs->iamr = iamr;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 420 if (mmu_has_feature(MMU_FTR_KUAP)) {
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 421 mtspr(SPRN_AMR, AMR_KUAP_BLOCKED);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 422 flush_needed = true;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 423 }
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 424 if (mmu_has_feature(MMU_FTR_BOOK3S_KUEP)) {
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 425 mtspr(SPRN_IAMR, AMR_KUEP_BLOCKED);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 426 flush_needed = true;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 427 }
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 428 if (flush_needed)
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 429 isync();
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 430 } else
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 431 #endif
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 432 kuap_assert_locked();
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 @433 booke_restore_dbcr0();
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 434 account_cpu_user_entry();
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 435 account_stolen_time();
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 436
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 437 /*
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 438 * This is not required for the syscall exit path, but makes the
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 439 * stack frame look nicer. If this was initialised in the first stack
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 440 * frame, or if the unwinder was taught the first stack frame always
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 441 * returns to user with IRQS_ENABLED, this store could be avoided!
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 442 */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 443 irq_soft_mask_regs_set_state(regs, IRQS_ENABLED);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 444
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 445 /*
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 446 * If system call is called with TM active, set _TIF_RESTOREALL to
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 447 * prevent RFSCV being used to return to userspace, because POWER9
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 448 * TM implementation has problems with this instruction returning to
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 449 * transactional state. Final register values are not relevant because
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 450 * the transaction will be aborted upon return anyway. Or in the case
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 451 * of unsupported_scv SIGILL fault, the return state does not much
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 452 * matter because it's an edge case.
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 453 */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 454 if (IS_ENABLED(CONFIG_PPC_TRANSACTIONAL_MEM) &&
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 455 unlikely(MSR_TM_TRANSACTIONAL(regs->msr)))
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 456 set_bits(_TIF_RESTOREALL, ¤t_thread_info()->flags);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 457
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 458 /*
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 459 * If the system call was made with a transaction active, doom it and
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 460 * return without performing the system call. Unless it was an
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 461 * unsupported scv vector, in which case it's treated like an illegal
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 462 * instruction.
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 463 */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 464 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 465 if (unlikely(MSR_TM_TRANSACTIONAL(regs->msr)) &&
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 466 !trap_is_unsupported_scv(regs)) {
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 467 /* Enable TM in the kernel, and disable EE (for scv) */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 468 hard_irq_disable();
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 469 mtmsr(mfmsr() | MSR_TM);
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 470
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 471 /* tabort, this dooms the transaction, nothing else */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 472 asm volatile(".long 0x7c00071d | ((%0) << 16)"
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 473 :: "r"(TM_CAUSE_SYSCALL | TM_CAUSE_PERSISTENT));
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 474
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 475 /*
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 476 * Userspace will never see the return value. Execution will
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 477 * resume after the tbegin. of the aborted transaction with the
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 478 * checkpointed register state. A context switch could occur
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 479 * or signal delivered to the process before resuming the
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 480 * doomed transaction context, but that should all be handled
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 481 * as expected.
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 482 */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 483 return;
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 484 }
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 485 #endif /* CONFIG_PPC_TRANSACTIONAL_MEM */
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 486 }
1a5661537226c3 Mukesh Kumar Chaurasiya 2025-12-14 487
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-12-17 21:33 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-14 13:02 [PATCH v2 0/8] Generic IRQ entry/exit support for powerpc Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 1/8] powerpc: rename arch_irq_disabled_regs Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 2/8] powerpc: Prepare to build with generic entry/exit framework Mukesh Kumar Chaurasiya
2025-12-16 9:27 ` Christophe Leroy (CS GROUP)
2025-12-16 14:42 ` Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 3/8] powerpc: introduce arch_enter_from_user_mode Mukesh Kumar Chaurasiya
2025-12-16 9:38 ` Christophe Leroy (CS GROUP)
2025-12-16 14:47 ` Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 4/8] powerpc: Introduce syscall exit arch functions Mukesh Kumar Chaurasiya
2025-12-16 9:46 ` Christophe Leroy (CS GROUP)
2025-12-16 14:51 ` Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 5/8] powerpc: add exit_flags field in pt_regs Mukesh Kumar Chaurasiya
2025-12-16 9:52 ` Christophe Leroy (CS GROUP)
2025-12-16 14:56 ` Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 6/8] powerpc: Prepare for IRQ entry exit Mukesh Kumar Chaurasiya
2025-12-16 9:58 ` Christophe Leroy (CS GROUP)
2025-12-16 15:00 ` Mukesh Kumar Chaurasiya
2025-12-16 22:40 ` Christophe Leroy (CS GROUP)
2025-12-17 4:43 ` Mukesh Kumar Chaurasiya
2025-12-19 4:56 ` Mukesh Kumar Chaurasiya
2025-12-14 13:02 ` [PATCH v2 7/8] powerpc: Enable IRQ generic entry/exit path Mukesh Kumar Chaurasiya
2025-12-16 6:29 ` kernel test robot
2025-12-16 15:02 ` Mukesh Kumar Chaurasiya
2025-12-16 10:43 ` Christophe Leroy (CS GROUP)
2025-12-16 15:06 ` Mukesh Kumar Chaurasiya
2025-12-17 2:10 ` kernel test robot
2025-12-17 21:32 ` kernel test robot [this message]
2025-12-14 13:02 ` [PATCH v2 8/8] powerpc: Enable Generic Entry/Exit for syscalls Mukesh Kumar Chaurasiya
2025-12-14 16:20 ` Segher Boessenkool
2025-12-15 18:32 ` Mukesh Kumar Chaurasiya
2025-12-15 20:27 ` kernel test robot
2025-12-16 15:08 ` Mukesh Kumar Chaurasiya
2025-12-16 22:57 ` Christophe Leroy (CS GROUP)
2025-12-16 6:41 ` Christophe Leroy (CS GROUP)
2025-12-16 15:09 ` Mukesh Kumar Chaurasiya
2025-12-16 11:01 ` Christophe Leroy (CS GROUP)
2025-12-16 15:13 ` Mukesh Kumar Chaurasiya
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=202512180511.ujibhcpR-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=ankur.a.arora@oracle.com \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=bigeasy@linutronix.de \
--cc=charlie@rivosinc.com \
--cc=christophe.leroy@csgroup.eu \
--cc=deller@gmx.de \
--cc=kees@kernel.org \
--cc=ldv@strace.io \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=luto@amacapital.net \
--cc=macro@orcam.me.uk \
--cc=maddy@linux.ibm.com \
--cc=mark.barnett@arm.com \
--cc=mchauras@linux.ibm.com \
--cc=menglong8.dong@gmail.com \
--cc=mingo@kernel.org \
--cc=mkchauras@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=namcao@linutronix.de \
--cc=npiggin@gmail.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=segher@kernel.crashing.org \
--cc=sshegde@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=thomas.weissschuh@linutronix.de \
--cc=thuth@redhat.com \
--cc=wad@chromium.org \
/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;
as well as URLs for NNTP newsgroup(s).