On Thu, 4 Feb 2021 23:16:12 +1100, Alexey Kardashevskiy wrote:
The amount of code executed with enabled user space access (unlocked KUAP)
should be minimal. However with CONFIG_PROVE_LOCKING or
CONFIG_DEBUG_ATOMIC_SLEEP enabled, might_fault() may end up replaying
interrupts which in turn may access the user space and forget to restore
the KUAP state.
The problem places are:
1. strncpy_from_user (and similar) which unlock KUAP and call
unsafe_get_user -> __get_user_allowed -> __get_user_nocheck()
with do_allow=false to skip KUAP as the caller took care of it.
2. __put_user_nocheck_goto() which is called with unlocked KUAP.
[...]
Applied to powerpc/next.
[1/1] powerpc/uaccess: Avoid might_fault() when user access is enabled
https://git.kernel.org/powerpc/c/7d506ca97b665b95e698a53697dad99fae813c1a
cheers