On Thu, Jul 13, 2023 at 07:00:37AM -0700, Palmer Dabbelt wrote: > On Wed, 28 Jun 2023 04:45:43 PDT (-0700), Mark Rutland wrote: > > On Wed, Jun 28, 2023 at 11:49:18AM +0200, Arnd Bergmann wrote: > > > From: Arnd Bergmann <arnd@xxxxxxxx> > > > > > > An otherwise correct change to the atomic operations uncovered an > > > existing bug in the sparc __arch_xchg() function, which is calls > > > __xchg_called_with_bad_pointer() when its arguments are unknown at > > > compile time: > > > > > > ERROR: modpost: "__xchg_called_with_bad_pointer" [lib/atomic64_test.ko] undefined! > > > > > > This now happens because gcc determines that it's better to not inline the > > > function. Avoid this by just marking the function as __always_inline > > > to force the compiler to do the right thing here. > > > > > > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> > > > Link: https://lore.kernel.org/all/c525adc9-6623-4660-8718-e0c9311563b8@xxxxxxxxxxxx/ > > > Fixes: d12157efc8e08 ("locking/atomic: make atomic*_{cmp,}xchg optional") > > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > > > > Aha; you saved me writing a patch! :) > > > > We should probably do likewise for all the other bits like __cmpxchg(), but > > either way: > > > > Acked-by: Mark Rutland <mark.rutland@xxxxxxx> > > Acked-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> > > Though I'm not sure that means a whole lot over here ;) I've carried some other sparc stuff before. I can send this to Linus with other fixes. -- Kees Cook