From: Nathan Chancellor <nathan@kernel.org>
To: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
kernel test robot <lkp@intel.com>,
llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org, x86@kernel.org,
Ingo Molnar <mingo@kernel.org>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction
Date: Tue, 25 Nov 2025 16:18:34 -0700 [thread overview]
Message-ID: <20251125231834.GA4012217@ax162> (raw)
In-Reply-To: <897c6ba7-e27d-4170-be56-4d0f544bfa42@kernel.org>
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
next prev parent reply other threads:[~2025-11-25 23:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-24 17:37 [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction kernel test robot
2025-11-24 19:15 ` 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 [this message]
2025-11-25 23:39 ` Nathan Chancellor
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=20251125231834.GA4012217@ax162 \
--to=nathan@kernel.org \
--cc=chleroy@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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 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.