summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/traps.h
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@arm.com>2016-06-28 19:07:31 +0200
committerCatalin Marinas <catalin.marinas@arm.com>2016-07-01 12:43:30 +0200
commit390bf1773c7eba3b45df62ae82b3d2be911185b7 (patch)
tree7bbb8ee4425bdec0dbd5563952c68ab6c6e22ee5 /arch/arm64/include/asm/traps.h
parentarm64: errata: Calling enable functions for CPU errata too (diff)
downloadlinux-390bf1773c7eba3b45df62ae82b3d2be911185b7.tar.xz
linux-390bf1773c7eba3b45df62ae82b3d2be911185b7.zip
arm64: consolidate signal injection on emulation errors
The code for injecting a signal into userland if a trapped instruction fails emulation due to a _userland_ error (like an illegal address) will be used more often with the next patch. Factor out the core functionality into a separate function and use that both for the existing trap handler and for the deprecated instructions emulation. Signed-off-by: Andre Przywara <andre.przywara@arm.com> [catalin.marinas@arm.com: s/set_segfault/arm64_notify_segfault/] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/traps.h')
-rw-r--r--arch/arm64/include/asm/traps.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/traps.h b/arch/arm64/include/asm/traps.h
index 0cc2f29bf9da..9cd03f3e812f 100644
--- a/arch/arm64/include/asm/traps.h
+++ b/arch/arm64/include/asm/traps.h
@@ -34,6 +34,8 @@ struct undef_hook {
void register_undef_hook(struct undef_hook *hook);
void unregister_undef_hook(struct undef_hook *hook);
+void arm64_notify_segfault(struct pt_regs *regs, unsigned long addr);
+
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
static inline int __in_irqentry_text(unsigned long ptr)
{