Re: [PATCH 1/3] powerpc/uaccess: Switch __put_user_size_allowed() to __put_user_asm_goto()
From: Michael Ellerman
Date: Tue Nov 03 2020 - 08:21:53 EST
Andreas Schwab <schwab@xxxxxxxxxxxxxx> writes:
> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/powerpc 5.10.0-rc1 Kernel Configuration
> #
> CONFIG_CC_VERSION_TEXT="gcc-4.9 (SUSE Linux) 4.9.3"
So it seems to be a combination of GCC 4.9 and ...
> # CONFIG_PPC_RADIX_MMU is not set
That ^, which specifically causes PPC_KUAP=n.
When PPC_KUAP=y allow_user_access() inlines an isync and mtspr, both of
which contain a memory clobber, and that seems to hide the bug.
I think for now we just have to stop using asm goto for put_user() on
GCC 4.9.
I'll send a patch for that.
cheers