James Morse 57f4959bad arm64: kernel: Add support for User Access Override
'User Access Override' is a new ARMv8.2 feature which allows the
unprivileged load and store instructions to be overridden to behave in
the normal way.

This patch converts {get,put}_user() and friends to use ldtr*/sttr*
instructions - so that they can only access EL0 memory, then enables
UAO when fs==KERNEL_DS so that these functions can access kernel memory.

This allows user space's read/write permissions to be checked against the
page tables, instead of testing addr<USER_DS, then using the kernel's
read/write permissions.

Signed-off-by: James Morse <james.morse@arm.com>
[catalin.marinas@arm.com: move uao_thread_switch() above dsb()]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-18 17:27:04 +00:00
..
2015-11-04 14:47:13 -08:00
2016-01-12 20:46:53 +02:00
2014-04-18 11:40:33 +02:00
2015-10-28 19:09:17 +00:00
2012-09-17 13:42:21 +01:00
2014-11-05 09:03:25 +01:00
2015-07-27 11:08:42 +01:00
2012-09-17 13:42:21 +01:00
2014-09-25 15:35:41 +01:00
2016-01-15 17:56:32 -08:00
2015-11-04 14:47:13 -08:00
2012-09-17 13:42:19 +01:00
2016-02-16 15:10:46 +00:00
2015-05-19 15:27:42 +01:00
2015-10-29 16:55:15 +00:00
2014-11-28 10:24:59 +00:00
2015-10-12 17:46:36 +01:00
2014-07-10 11:06:00 +01:00
2015-10-14 13:51:41 +01:00
2015-10-14 13:51:41 +01:00
2012-09-17 13:42:09 +01:00
2012-09-17 13:42:09 +01:00