android_kernel_oneplus_msm8998/arch
James Morse 13e05550e1 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>

(cherry picked from commit 57f4959bad0a154aeca125b7d38d1d9471a12422)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
2016-05-11 22:19:23 +08:00
..
alpha
arc ARC: bitops: Remove non relevant comments 2016-04-12 09:08:56 -07:00
arm ARM: dts: pxa: fix dma engine node to pxa3xx-nand 2016-05-04 14:48:53 -07:00
arm64 arm64: kernel: Add support for User Access Override 2016-05-11 22:19:23 +08:00
avr32
blackfin
c6x
cris
frv
h8300
hexagon
ia64 ia64: define ioremap_uc() 2016-04-12 09:08:54 -07:00
m32r m32r: fix m32104ut_defconfig build fail 2016-02-25 12:01:22 -08:00
m68k
metag
microblaze Revert "scatterlist: use sg_phys()" 2015-12-15 12:54:06 -08:00
mips pcmcia: db1xxx_ss: fix last irq_to_gpio user 2016-04-20 15:42:09 +09:00
mn10300
nios2
openrisc
parisc parisc: Unbreak handling exceptions from kernel modules 2016-04-20 15:41:52 +09:00
powerpc powerpc: Update TM user feature bits in scan_features() 2016-05-04 14:48:44 -07:00
s390 s390/pci: add extra padding to function measurement block 2016-05-04 14:48:44 -07:00
score
sh sched/preempt, sh: kmap_coherent relies on disabled preemption 2016-04-12 09:08:36 -07:00
sparc sparc64: fix incorrect sign extension in sys_sparc64_personality 2016-03-03 15:07:17 -08:00
tile tile: provide CONFIG_PAGE_SIZE_64KB etc for tilepro 2016-01-05 08:16:09 -05:00
um fs/coredump: prevent fsuid=0 dumps into user-controlled directories 2016-04-12 09:08:58 -07:00
unicore32
x86 x86/mm/kmmio: Fix mmiotrace for hugepages 2016-05-04 14:48:52 -07:00
xtensa xtensa: clear all DBREAKC registers on start 2016-04-12 09:08:55 -07:00
.gitignore
Kconfig