s390/atomic,cmpxchg: always inline __xchg/__cmpxchg
authorHeiko Carstens <hca@linux.ibm.com>
Sat, 17 Apr 2021 12:48:32 +0000 (14:48 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Sun, 18 Apr 2021 19:32:02 +0000 (21:32 +0200)
commita637b3bfa43aead7221b79cd92e092ef911c8253
treeaba40f892ed3299a71148da73796841abc60f6f0
parentb44913fceb1324be8eaefa8a96c9ae5d368b39c5
s390/atomic,cmpxchg: always inline __xchg/__cmpxchg

Make sure to always inline __xchg() and __cmpxchg() otherwise the
compiler might decide to generate out-of-line versions which will
fail at link time:

   s390-linux-ld: lib/atomic64_test.o: in function `__xchg':
>> atomic64_test.c:(.text.unlikely+0xa4): undefined reference to `__xchg_called_with_bad_pointer'

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/linux-mm/202104170449.SIIFKVjT-lkp@intel.com/
Fixes: d2b1f6d2d350 ("s390/cmpxchg: get rid of gcc atomic builtins")
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/cmpxchg.h