parisc: Fix extraction of hash lock bits in syscall.S
authorJohn David Anglin <dave.anglin@bell.net>
Fri, 19 Nov 2021 21:18:47 +0000 (22:18 +0100)
committerHelge Deller <deller@gmx.de>
Mon, 22 Nov 2021 06:37:31 +0000 (07:37 +0100)
commitdf2ffeda6370a77011902e7c9d7a1eb1cbffed4f
treec60a4592b2f2ae3cb7f4d11cb7877a485db517ec
parent169d1a4a2adb2c246396c56aa2f9eec3868546f1
parisc: Fix extraction of hash lock bits in syscall.S

The extru instruction leaves the most significant 32 bits of the target
register in an undefined state on PA 2.0 systems. If any of these bits
are nonzero, this will break the calculation of the lock pointer.

Fix by using extrd,u instruction via extru_safe macro on 64-bit kernels.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/syscall.S