[v6,01/10] powerpc/powernv/idle: Restore IAMR after idle
Michael Ellerman
patch-notifications at ellerman.id.au
Mon Apr 22 00:19:14 AEST 2019
On Thu, 2019-04-18 at 06:51:16 UTC, Michael Ellerman wrote:
> From: Russell Currey <ruscur at russell.cc>
>
> Without restoring the IAMR after idle, execution prevention on POWER9
> with Radix MMU is overwritten and the kernel can freely execute
> userspace without faulting.
>
> This is necessary when returning from any stop state that modifies
> user state, as well as hypervisor state.
>
> To test how this fails without this patch, load the lkdtm driver and
> do the following:
>
> $ echo EXEC_USERSPACE > /sys/kernel/debug/provoke-crash/DIRECT
>
> which won't fault, then boot the kernel with powersave=off, where it
> will fault. Applying this patch will fix this.
>
> Fixes: 3b10d0095a1e ("powerpc/mm/radix: Prevent kernel execution of user space")
> Cc: stable at vger.kernel.org # v4.10+
> Signed-off-by: Russell Currey <ruscur at russell.cc>
> Reviewed-by: Akshay Adiga <akshay.adiga at linux.vnet.ibm.com>
> Reviewed-by: Nicholas Piggin <npiggin at gmail.com>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
Series applied to powerpc next.
https://git.kernel.org/powerpc/c/a3f3072db6cad40895c585dce65e36aa
cheers
More information about the Linuxppc-dev
mailing list