* Re: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction [not found] <202511250134.i0Jm8d7I-lkp@intel.com> @ 2025-11-24 19:15 ` Thomas Gleixner 2025-11-25 2:28 ` Philip Li 2025-11-25 7:38 ` Christophe Leroy (CS GROUP) 0 siblings, 2 replies; 5+ messages in thread From: Thomas Gleixner @ 2025-11-24 19:15 UTC (permalink / raw) To: kernel test robot Cc: llvm, oe-kbuild-all, linux-kernel, x86, Ingo Molnar, Peter Zijlstra (Intel), Mathieu Desnoyers, linuxppc-dev, Nathan Chancellor On Tue, Nov 25 2025 at 01:37, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/rseq > head: 21782b3a5cd40892cb2995aa1ec3e74dd1112f1d > commit: abc850e7616c91ebaa3f5ba3617ab0a104d45039 [25/39] rseq: Provide and use rseq_update_user_cs() > config: powerpc-randconfig-002-20251124 (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-lkp@intel.com/config) > compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-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/202511250134.i0Jm8d7I-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > In file included from kernel/rseq.c:75: >>> include/linux/rseq_entry.h:132:3: error: invalid operand for instruction > unsafe_get_user(start_ip, &ucs->start_ip, efault); > ^ > include/linux/uaccess.h:606:2: note: expanded from macro 'unsafe_get_user' > arch_unsafe_get_user(x, ptr, local_label); \ > ^ > arch/powerpc/include/asm/uaccess.h:458:2: note: expanded from macro 'arch_unsafe_get_user' > __get_user_size_goto(__gu_val, __gu_addr, sizeof(*(p)), e); \ > ^ > arch/powerpc/include/asm/uaccess.h:282:2: note: expanded from macro '__get_user_size_goto' > __get_user_size_allowed(x, ptr, size, __gus_retval); \ > ^ > arch/powerpc/include/asm/uaccess.h:273:10: note: expanded from macro '__get_user_size_allowed' > case 8: __get_user_asm2(x, (u64 __user *)ptr, retval); break; \ > ^ > arch/powerpc/include/asm/uaccess.h:256:4: note: expanded from macro '__get_user_asm2' > " li %1+1,0\n" \ > ^ > <inline asm>:7:5: note: instantiated into assembly here > li 31+1,0 Definitely not a problem of tip core/rseq. It just ends up in __get_user_asm2() and then the compiler gets unhappy about the PowerPC inline assembly for whatever reason. Thanks, tglx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction 2025-11-24 19:15 ` [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction Thomas Gleixner @ 2025-11-25 2:28 ` Philip Li 2025-11-25 7:38 ` Christophe Leroy (CS GROUP) 1 sibling, 0 replies; 5+ messages in thread From: Philip Li @ 2025-11-25 2:28 UTC (permalink / raw) To: Thomas Gleixner Cc: kernel test robot, llvm, oe-kbuild-all, linux-kernel, x86, Ingo Molnar, Peter Zijlstra (Intel), Mathieu Desnoyers, linuxppc-dev, Nathan Chancellor On Mon, Nov 24, 2025 at 08:15:46PM +0100, Thomas Gleixner wrote: > On Tue, Nov 25 2025 at 01:37, kernel test robot wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/rseq > > head: 21782b3a5cd40892cb2995aa1ec3e74dd1112f1d > > commit: abc850e7616c91ebaa3f5ba3617ab0a104d45039 [25/39] rseq: Provide and use rseq_update_user_cs() > > config: powerpc-randconfig-002-20251124 (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-lkp@intel.com/config) > > compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6) > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-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/202511250134.i0Jm8d7I-lkp@intel.com/ > > > > All errors (new ones prefixed by >>): > > > > In file included from kernel/rseq.c:75: > >>> include/linux/rseq_entry.h:132:3: error: invalid operand for instruction > > unsafe_get_user(start_ip, &ucs->start_ip, efault); > > ^ > > include/linux/uaccess.h:606:2: note: expanded from macro 'unsafe_get_user' > > arch_unsafe_get_user(x, ptr, local_label); \ > > ^ > > arch/powerpc/include/asm/uaccess.h:458:2: note: expanded from macro 'arch_unsafe_get_user' > > __get_user_size_goto(__gu_val, __gu_addr, sizeof(*(p)), e); \ > > ^ > > arch/powerpc/include/asm/uaccess.h:282:2: note: expanded from macro '__get_user_size_goto' > > __get_user_size_allowed(x, ptr, size, __gus_retval); \ > > ^ > > arch/powerpc/include/asm/uaccess.h:273:10: note: expanded from macro '__get_user_size_allowed' > > case 8: __get_user_asm2(x, (u64 __user *)ptr, retval); break; \ > > ^ > > arch/powerpc/include/asm/uaccess.h:256:4: note: expanded from macro '__get_user_asm2' > > " li %1+1,0\n" \ > > ^ > > <inline asm>:7:5: note: instantiated into assembly here > > li 31+1,0 > > Definitely not a problem of tip core/rseq. It just ends up in > __get_user_asm2() and then the compiler gets unhappy about the PowerPC > inline assembly for whatever reason. Thanks, got it, I will configure the bot to avoid sending further report for this. > > Thanks, > > tglx > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction 2025-11-24 19:15 ` [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction Thomas Gleixner 2025-11-25 2:28 ` Philip Li @ 2025-11-25 7:38 ` Christophe Leroy (CS GROUP) 2025-11-25 23:18 ` Nathan Chancellor 1 sibling, 1 reply; 5+ messages in thread From: Christophe Leroy (CS GROUP) @ 2025-11-25 7:38 UTC (permalink / raw) To: Thomas Gleixner, kernel test robot Cc: llvm, oe-kbuild-all, linux-kernel, x86, Ingo Molnar, Peter Zijlstra (Intel), Mathieu Desnoyers, linuxppc-dev, Nathan Chancellor Le 24/11/2025 à 20:15, Thomas Gleixner a écrit : > On Tue, Nov 25 2025 at 01:37, kernel test robot wrote: >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/rseq >> head: 21782b3a5cd40892cb2995aa1ec3e74dd1112f1d >> commit: abc850e7616c91ebaa3f5ba3617ab0a104d45039 [25/39] rseq: Provide and use rseq_update_user_cs() >> config: powerpc-randconfig-002-20251124 (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-lkp@intel.com/config) >> compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6) >> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-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/202511250134.i0Jm8d7I-lkp@intel.com/ >> >> All errors (new ones prefixed by >>): >> >> In file included from kernel/rseq.c:75: >>>> include/linux/rseq_entry.h:132:3: error: invalid operand for instruction >> unsafe_get_user(start_ip, &ucs->start_ip, efault); >> ^ >> include/linux/uaccess.h:606:2: note: expanded from macro 'unsafe_get_user' >> arch_unsafe_get_user(x, ptr, local_label); \ >> ^ >> arch/powerpc/include/asm/uaccess.h:458:2: note: expanded from macro 'arch_unsafe_get_user' >> __get_user_size_goto(__gu_val, __gu_addr, sizeof(*(p)), e); \ >> ^ >> arch/powerpc/include/asm/uaccess.h:282:2: note: expanded from macro '__get_user_size_goto' >> __get_user_size_allowed(x, ptr, size, __gus_retval); \ >> ^ >> arch/powerpc/include/asm/uaccess.h:273:10: note: expanded from macro '__get_user_size_allowed' >> case 8: __get_user_asm2(x, (u64 __user *)ptr, retval); break; \ >> ^ >> arch/powerpc/include/asm/uaccess.h:256:4: note: expanded from macro '__get_user_asm2' >> " li %1+1,0\n" \ >> ^ >> <inline asm>:7:5: note: instantiated into assembly here >> li 31+1,0 > > Definitely not a problem of tip core/rseq. It just ends up in > __get_user_asm2() and then the compiler gets unhappy about the PowerPC > inline assembly for whatever reason. I see it is a CLANG build. CLANG might be less flexible, can you test with following change ? diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h index 4f5a46a77fa2..33d5f7ade254 100644 --- a/arch/powerpc/include/asm/uaccess.h +++ b/arch/powerpc/include/asm/uaccess.h @@ -253,7 +253,7 @@ __gus_failed: \ ".section .fixup,\"ax\"\n" \ "4: li %0,%3\n" \ " li %1,0\n" \ - " li %1+1,0\n" \ + " li %L1,0\n" \ " b 3b\n" \ ".previous\n" \ EX_TABLE(1b, 4b) \ Thanks Christophe ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction 2025-11-25 7:38 ` Christophe Leroy (CS GROUP) @ 2025-11-25 23:18 ` Nathan Chancellor 2025-11-25 23:39 ` Nathan Chancellor 0 siblings, 1 reply; 5+ messages in thread From: Nathan Chancellor @ 2025-11-25 23:18 UTC (permalink / raw) To: Christophe Leroy (CS GROUP) Cc: Thomas Gleixner, kernel test robot, llvm, oe-kbuild-all, linux-kernel, x86, Ingo Molnar, Peter Zijlstra (Intel), Mathieu Desnoyers, linuxppc-dev On Tue, Nov 25, 2025 at 08:38:40AM +0100, Christophe Leroy (CS GROUP) wrote: > > > Le 24/11/2025 à 20:15, Thomas Gleixner a écrit : > > On Tue, Nov 25 2025 at 01:37, kernel test robot wrote: > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/rseq > > > head: 21782b3a5cd40892cb2995aa1ec3e74dd1112f1d > > > commit: abc850e7616c91ebaa3f5ba3617ab0a104d45039 [25/39] rseq: Provide and use rseq_update_user_cs() > > > config: powerpc-randconfig-002-20251124 (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-lkp@intel.com/config) > > > compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6) > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251125/202511250134.i0Jm8d7I-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/202511250134.i0Jm8d7I-lkp@intel.com/ > > > > > > All errors (new ones prefixed by >>): > > > > > > In file included from kernel/rseq.c:75: > > > > > include/linux/rseq_entry.h:132:3: error: invalid operand for instruction > > > unsafe_get_user(start_ip, &ucs->start_ip, efault); > > > ^ > > > include/linux/uaccess.h:606:2: note: expanded from macro 'unsafe_get_user' > > > arch_unsafe_get_user(x, ptr, local_label); \ > > > ^ > > > arch/powerpc/include/asm/uaccess.h:458:2: note: expanded from macro 'arch_unsafe_get_user' > > > __get_user_size_goto(__gu_val, __gu_addr, sizeof(*(p)), e); \ > > > ^ > > > arch/powerpc/include/asm/uaccess.h:282:2: note: expanded from macro '__get_user_size_goto' > > > __get_user_size_allowed(x, ptr, size, __gus_retval); \ > > > ^ > > > arch/powerpc/include/asm/uaccess.h:273:10: note: expanded from macro '__get_user_size_allowed' > > > case 8: __get_user_asm2(x, (u64 __user *)ptr, retval); break; \ > > > ^ > > > arch/powerpc/include/asm/uaccess.h:256:4: note: expanded from macro '__get_user_asm2' > > > " li %1+1,0\n" \ > > > ^ > > > <inline asm>:7:5: note: instantiated into assembly here > > > li 31+1,0 > > > > Definitely not a problem of tip core/rseq. It just ends up in > > __get_user_asm2() and then the compiler gets unhappy about the PowerPC > > inline assembly for whatever reason. > > I see it is a CLANG build. > > CLANG might be less flexible, can you test with following change ? That avoids the error for me. I notice that this does not reproduce beyond clang-16 for me so I am going to bisect LLVM to see what fixes this error. > diff --git a/arch/powerpc/include/asm/uaccess.h > b/arch/powerpc/include/asm/uaccess.h > index 4f5a46a77fa2..33d5f7ade254 100644 > --- a/arch/powerpc/include/asm/uaccess.h > +++ b/arch/powerpc/include/asm/uaccess.h > @@ -253,7 +253,7 @@ __gus_failed: \ > ".section .fixup,\"ax\"\n" \ > "4: li %0,%3\n" \ > " li %1,0\n" \ > - " li %1+1,0\n" \ > + " li %L1,0\n" \ > " b 3b\n" \ > ".previous\n" \ > EX_TABLE(1b, 4b) \ > > > Thanks > Christophe ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction 2025-11-25 23:18 ` Nathan Chancellor @ 2025-11-25 23:39 ` Nathan Chancellor 0 siblings, 0 replies; 5+ messages in thread From: Nathan Chancellor @ 2025-11-25 23:39 UTC (permalink / raw) To: Christophe Leroy (CS GROUP) Cc: Thomas Gleixner, kernel test robot, llvm, oe-kbuild-all, linux-kernel, x86, Ingo Molnar, Peter Zijlstra (Intel), Mathieu Desnoyers, linuxppc-dev On Tue, Nov 25, 2025 at 04:18:34PM -0700, Nathan Chancellor wrote: > That avoids the error for me. I notice that this does not reproduce > beyond clang-16 for me so I am going to bisect LLVM to see what fixes > this error. Oh, it is because of commit e2ffa15b9baa ("kbuild: Disable CC_HAS_ASM_GOTO_OUTPUT on clang < 17"). Prior to that change, all supported versions of clang would use the CONFIG_CC_HAS_ASM_GOTO_OUTPUT blocks in arch/powerpc/include/asm/uaccess.h, whereas now clang-15 and clang-16 will use the variants without asm goto with outputs. Cheers, Nathan ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-11-25 23:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <202511250134.i0Jm8d7I-lkp@intel.com>
2025-11-24 19:15 ` [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction Thomas Gleixner
2025-11-25 2:28 ` Philip Li
2025-11-25 7:38 ` Christophe Leroy (CS GROUP)
2025-11-25 23:18 ` Nathan Chancellor
2025-11-25 23:39 ` Nathan Chancellor
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).