diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-03-21 18:35:11 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2016-03-24 16:19:24 +0000 |
commit | d5e5743797adc26e09db262e7a4b6b81d8c0f45c (patch) | |
tree | 3fc356370af64a6e2dd81e84bd70dca2f0a62701 /net/unix/sysctl_net_unix.c | |
parent | f09f1bacfe2b1e64a5d94bc2711f73b654c95514 (diff) |
arm64: kaslr: use callee saved register to preserve SCTLR across C call
The KASLR code incorrectly expects the contents of x18 to be preserved
across a call into C code, and uses it to stash the contents of SCTLR_EL1
before enabling the MMU. If the MMU needs to be disabled again to create
the randomized kernel mapping, x18 is written back to SCTLR_EL1, which is
likely to crash the system if x18 has been clobbered by kasan_early_init()
or kaslr_early_init(). So use x22 instead, which is not in use so far in
head.S
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'net/unix/sysctl_net_unix.c')
0 files changed, 0 insertions, 0 deletions