mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
![]() The Undef abort handler in the kernel reads the undefined instruction from user space. If the page table was modified from another CPU, the user access could fail and do_page_fault() will be executed with interrupts disabled. This can potentially deadlock on ARM11MPCore or on Cortex-A15 with erratum 798181 workaround enabled (both implying IPI for TLB maintenance with page table lock held). This patch enables the IRQs in __und_usr before attempting to read the instruction from user space. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: Arun KS <getarunks@gmail.com> Cc: Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ryan Mallon <rmallon@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> |
||
---|---|---|
.. | ||
include/mach | ||
adssphere.c | ||
clock.c | ||
core.c | ||
crunch-bits.S | ||
crunch.c | ||
dma.c | ||
edb93xx.c | ||
gesbc9312.c | ||
Kconfig | ||
Makefile | ||
Makefile.boot | ||
micro9.c | ||
simone.c | ||
snappercl15.c | ||
soc.h | ||
ts72xx.c | ||
ts72xx.h | ||
vision_ep9307.c |