diff options
| author | Rabin Vincent <rabinv@axis.com> | 2016-11-23 07:02:32 -0500 |
|---|---|---|
| committer | Russell King <rmk+kernel@armlinux.org.uk> | 2017-01-10 18:32:25 -0500 |
| commit | 270c8cf1cacc69cb8d99dea812f06067a45e4609 (patch) | |
| tree | 651a47c5b6d499431b88864c8797d238dd0a78cb | |
| parent | 7ce7d89f48834cefece7804d38fc5d85382edf77 (diff) | |
ARM: 8632/1: ftrace: fix syscall name matching
ARM has a few system calls (most notably mmap) for which the names of
the functions which are referenced in the syscall table do not match the
names of the syscall tracepoints. As a consequence of this, these
tracepoints are not made available. Implement
arch_syscall_match_sym_name to fix this and allow tracing even these
system calls.
Signed-off-by: Rabin Vincent <rabinv@axis.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/include/asm/ftrace.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h index bfe2a2f5a644..22b73112b75f 100644 --- a/arch/arm/include/asm/ftrace.h +++ b/arch/arm/include/asm/ftrace.h | |||
| @@ -54,6 +54,24 @@ static inline void *return_address(unsigned int level) | |||
| 54 | 54 | ||
| 55 | #define ftrace_return_address(n) return_address(n) | 55 | #define ftrace_return_address(n) return_address(n) |
| 56 | 56 | ||
| 57 | #define ARCH_HAS_SYSCALL_MATCH_SYM_NAME | ||
| 58 | |||
| 59 | static inline bool arch_syscall_match_sym_name(const char *sym, | ||
| 60 | const char *name) | ||
| 61 | { | ||
| 62 | if (!strcmp(sym, "sys_mmap2")) | ||
| 63 | sym = "sys_mmap_pgoff"; | ||
| 64 | else if (!strcmp(sym, "sys_statfs64_wrapper")) | ||
| 65 | sym = "sys_statfs64"; | ||
| 66 | else if (!strcmp(sym, "sys_fstatfs64_wrapper")) | ||
| 67 | sym = "sys_fstatfs64"; | ||
| 68 | else if (!strcmp(sym, "sys_arm_fadvise64_64")) | ||
| 69 | sym = "sys_fadvise64_64"; | ||
| 70 | |||
| 71 | /* Ignore case since sym may start with "SyS" instead of "sys" */ | ||
| 72 | return !strcasecmp(sym, name); | ||
| 73 | } | ||
| 74 | |||
| 57 | #endif /* ifndef __ASSEMBLY__ */ | 75 | #endif /* ifndef __ASSEMBLY__ */ |
| 58 | 76 | ||
| 59 | #endif /* _ASM_ARM_FTRACE */ | 77 | #endif /* _ASM_ARM_FTRACE */ |
