On powerpc, access_ok() succeeds for the NULL pointer. This breaks the dynamic check in futex_detect_cmpxchg(), which expects -EFAULT. As a result, robust futex operations are not functional on powerpc.
Since the architecture's futex_atomic_cmpxchg_inatomic() implementation requires no runtime feature detection, we can select HAVE_FUTEX_CMPXCHG to skip futex_detect_cmpxchg() and enable the use of robust futexes. Signed-off-by: Samuel Holland <sam...@sholland.org> --- arch/powerpc/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index ad620637cbd1..5ad1deb0c669 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -196,6 +196,7 @@ config PPC select HAVE_FUNCTION_ERROR_INJECTION select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_TRACER + select HAVE_FUTEX_CMPXCHG select HAVE_GCC_PLUGINS if GCC_VERSION >= 50200 # plugin support on gcc <= 5.1 is buggy on PPC select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx) select HAVE_IDE -- 2.26.2