Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 4 Jan 2023 18:27:33 +0100 | From | Heiko Carstens <> | Subject | Re: [PATCH v4 1/9] KVM: s390: Extend MEM_OP ioctl by storage key checked cmpxchg |
| |
On Mon, Dec 19, 2022 at 10:24:33PM +0100, Janis Schoetterl-Glausch wrote: > On Wed, 2022-12-14 at 10:23 +0800, kernel test robot wrote: > > Hi Janis, > > > > Thank you for the patch! Yet something to improve: > > All errors (new ones prefixed by >>): > > > > s390-linux-ld: arch/s390/kvm/gaccess.o: in function `__cmpxchg_user_key': > > > > arch/s390/include/asm/uaccess.h:410: undefined reference to `__ashlti3' > > > > s390-linux-ld: arch/s390/include/asm/uaccess.h:411: undefined reference to `__ashlti3' > > s390-linux-ld: arch/s390/include/asm/uaccess.h:458: undefined reference to `__ashlti3' > > s390-linux-ld: arch/s390/include/asm/uaccess.h:459: undefined reference to `__ashlti3' > > 51098f0eb22e2f Janis Schoetterl-Glausch 2022-11-16 @410 _old = (old & 0xff) << shift; > > 51098f0eb22e2f Janis Schoetterl-Glausch 2022-11-16 @411 _new = (new & 0xff) << shift; > > Not sure what it is in this config that causes gcc to emit this > symbol instead of a shift instruction, but casting old/new to 32 bit > fixes the error.
Right.. now we have the same fun with 128 bit arithmetics that we had with 64 bit arithmetics on 32 bit. I really missed that :)
Fixed the way you proposed it: https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git/commit/?h=cmpxchg_user_key&id=b33d59fb37ddcb6ee65d4fa23cc3d58793d13c5b
| ![\](/images/icornerr.gif) |