]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
arm64: kaslr: Put kernel vectors address in separate data page
authorWill Deacon <will.deacon@arm.com>
Wed, 6 Dec 2017 11:24:02 +0000 (11:24 +0000)
committerSeth Forshee <seth.forshee@canonical.com>
Thu, 22 Feb 2018 14:15:46 +0000 (08:15 -0600)
commit4a159cc4a284cf509cf0c5abc9fe7162ab4ad3dd
treeff62f71fcd4793bb7012a4a45d48d520b40575dc
parent9db1dc7188a95340cd47feee9e8ed1925be85b96
arm64: kaslr: Put kernel vectors address in separate data page

BugLink: http://bugs.launchpad.net/bugs/1751064
Commit 6c27c4082f4f upstream.

The literal pool entry for identifying the vectors base is the only piece
of information in the trampoline page that identifies the true location
of the kernel.

This patch moves it into a page-aligned region of the .rodata section
and maps this adjacent to the trampoline text via an additional fixmap
entry, which protects against any accidental leakage of the trampoline
contents.

Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Laura Abbott <labbott@redhat.com>
Tested-by: Shanker Donthineni <shankerd@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
arch/arm64/include/asm/fixmap.h
arch/arm64/kernel/entry.S
arch/arm64/kernel/vmlinux.lds.S
arch/arm64/mm/mmu.c