linux/arch/arm64/mm
James Morse 744c6c37cc arm64: kernel: Fix unmasked debug exceptions when restoring mdscr_el1
Changes to make the resume from cpu_suspend() code behave more like
secondary boot caused debug exceptions to be unmasked early by
__cpu_setup(). We then go on to restore mdscr_el1 in cpu_do_resume(),
potentially taking break or watch points based on uninitialised registers.

Mask debug exceptions in cpu_do_resume(), which is specific to resume
from cpu_suspend(). Debug exceptions will be restored to their original
state by local_dbg_restore() in cpu_suspend(), which runs after
hw_breakpoint_restore() has re-initialised the other registers.

Reported-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Fixes: cabe1c81ea ("arm64: Change cpu_resume() to enable mmu early then access sleep_sp by va")
Cc: <stable@vger.kernel.org> # 4.7+
Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-09-02 17:19:55 +01:00
..
Makefile
cache.S arm64: fix "dc cvau" cache operation on errata-affected core 2016-07-01 11:26:20 +01:00
context.c arm64: update ASID limit 2016-06-21 20:10:18 +01:00
copypage.c
dma-mapping.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dump.c arm64: Fix shift warning in arch/arm64/mm/dump.c 2016-08-18 12:38:11 +01:00
extable.c
fault.c arm64: Handle el1 synchronous instruction aborts cleanly 2016-08-12 17:58:48 +01:00
flush.c arm64: mm: remove page_mapping check in __sync_icache_dcache 2016-06-21 20:10:18 +01:00
hugetlbpage.c
init.c arm64:acpi: fix the acpi alignment exception when 'mem=' specified 2016-07-28 16:07:41 -07:00
ioremap.c
kasan_init.c
mm.h
mmap.c
mmu.c arm64: mm: avoid fdt_check_header() before the FDT is fully mapped 2016-08-01 14:17:01 +01:00
numa.c arm64: Fix NUMA build error when !CONFIG_ACPI 2016-08-17 17:16:58 +01:00
pageattr.c
pgd.c
proc.S arm64: kernel: Fix unmasked debug exceptions when restoring mdscr_el1 2016-09-02 17:19:55 +01:00