Commit d12337 (rwsem: Remove redundant asmregparm annotation)
broke rwsem on UML.
As we cannot compile UML with -mregparm=3 and keeping asmregparm only
for UML is inadequate the easiest solution is using RWSEM_GENERIC_SPINLOCK.

Thanks to Thomas Gleixner for the idea.

Reported-by: Toralf Förster <[email protected]>
Tested-by: Toralf Förster <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: <[email protected]> # .39.x
Signed-off-by: Richard Weinberger <[email protected]>
---
 arch/um/Kconfig.x86 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86
index a9da516..795ea8e 100644
--- a/arch/um/Kconfig.x86
+++ b/arch/um/Kconfig.x86
@@ -29,10 +29,10 @@ config X86_64
        def_bool 64BIT
 
 config RWSEM_XCHGADD_ALGORITHM
-       def_bool X86_XADD
+       def_bool X86_XADD && 64BIT
 
 config RWSEM_GENERIC_SPINLOCK
-       def_bool !X86_XADD
+       def_bool !RWSEM_XCHGADD_ALGORITHM
 
 config 3_LEVEL_PGTABLES
        bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT
-- 
1.7.4.2

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to