ARM: BUG if jumping to usermode address in kernel mode
authorRussell King <rmk+kernel@armlinux.org.uk>
Fri, 24 Nov 2017 23:49:34 +0000 (23:49 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Dec 2017 08:28:16 +0000 (09:28 +0100)
commit6192f870abf25d6bb83cb5cb85b072b5dcc40ba4
treee6e7cf9ec18dac281b5004bbe61dde146e706c9c
parent112b8a8f558de4004c2a0f7a6d04aba3520fd4ff
ARM: BUG if jumping to usermode address in kernel mode

commit 8bafae202c82dc257f649ea3c275a0f35ee15113 upstream.

Detect if we are returning to usermode via the normal kernel exit paths
but the saved PSR value indicates that we are in kernel mode.  This
could occur due to corrupted stack state, which has been observed with
"ftracetest".

This ensures that we catch the problem case before we get to user code.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Alex Shi <alex.shi@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/include/asm/assembler.h
arch/arm/kernel/entry-header.S