]> git.baikalelectronics.ru Git - kernel.git/commit
arm64/mm: use fixmap to modify swapper_pg_dir
authorJun Yao <yaojun8558363@gmail.com>
Mon, 24 Sep 2018 16:15:02 +0000 (17:15 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 25 Sep 2018 14:10:55 +0000 (15:10 +0100)
commitf9170a627423d74521b1639f3ee4b2ac91ec0e1c
tree22f8fed6993270edb2b4e2570101a675b703ca3a
parent142ac19b8318030896e7694e1ab1442404a86994
arm64/mm: use fixmap to modify swapper_pg_dir

Once swapper_pg_dir is in the rodata section, it will not be possible to
modify it directly, but we will need to modify it in some cases.

To enable this, we can use the fixmap when deliberately modifying
swapper_pg_dir. As the pgd is only transiently mapped, this provides
some resilience against illicit modification of the pgd, e.g. for
Kernel Space Mirror Attack (KSMA).

Signed-off-by: Jun Yao <yaojun8558363@gmail.com>
Reviewed-by: James Morse <james.morse@arm.com>
[Mark: simplify ifdeffery, commit message]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/pgtable.h
arch/arm64/mm/mmu.c