Since commit 4378a7d4be30 ("arm64: implement syscall wrappers")
introduced "__arm64_" prefix to all syscall wrapper symbols in
sys_call_table, syscall tracer can not find corresponding
metadata from syscall name. In the result, we have no syscall
ftrace events on arm64 kernel, and some bpf testcases are failed
on arm64.
To fix this issue, this introduces custom
arch_syscall_match_sym_name() which skips first 8 bytes when
comparing the syscall and symbol names.
Fixes: 4378a7d4be30 ("arm64: implement syscall wrappers")
Reported-by: Naresh Kamboju <naresh.kamboju(a)linaro.org>
Signed-off-by: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: stable(a)vger.kernel.org
---
arch/arm64/include/asm/ftrace.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h
index caa955f10e19..a710f79db442 100644
--- a/arch/arm64/include/asm/ftrace.h
+++ b/arch/arm64/include/asm/ftrace.h
@@ -56,6 +56,15 @@ static inline bool arch_trace_is_compat_syscall(struct pt_regs *regs)
{
return is_compat_task();
}
+
+#define ARCH_HAS_SYSCALL_MATCH_SYM_NAME
+
+static inline bool arch_syscall_match_sym_name(const char *sym,
+ const char *name)
+{
+ /* Since all syscall functions have __arm64_ prefix, we must skip it */
+ return !strcmp(sym + 8, name);
+}
#endif /* ifndef __ASSEMBLY__ */
#endif /* __ASM_FTRACE_H */
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: ac4af649901b Linux 4.19.6-rc1
The results of these automated tests are provided below.
Overall result: PASSED
Patch merge: OK
Compile: OK
Kernel tests: OK
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 2 architectures:
x86_64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/x86_64/ac4af649901b05aa42f4ed3e153…
aarch64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/aarch64/ac4af649901b05aa42f4ed3e15…
Hardware testing
----------------
We booted each kernel and ran the following tests:
x86_64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
arm64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
Hi Noah,
On Mon, Nov 26, 2018 at 10:52:16PM +0000, Noah Westervelt wrote:
> Add ELAN061E to the ACPI table to support Elan touchpad found in Lenovo
> IdeaPad 330-15ARR.
>
> Signed-off-by: Noah Westervelt <nwestervelt(a)outlook.com><mailto:nwestervelt@outlook.com>
> Cc: stable(a)vger.kernel.org<mailto:stable@vger.kernel.org>
I untangled it from HTML/attacjment mess that outlook made and applied,
but please next time use git-send-email for patches: it allows out
scripts to pick up patches more easily.
Thanks!
> ---
> drivers/input/mouse/elan_i2c_core.c | 1 +
> 1 file changed, 1 insertion(+)
> --- /home/noah/input/drivers/input/mouse/elan_i2c_core.c.orig 2018-11-26 16:23:39.378342074 -0600
> +++ /home/noah/input/drivers/input/mouse/elan_i2c_core.c 2018-11-26 16:26:20.283458731 -0600
> @@ -1344,6 +1344,7 @@ static const struct acpi_device_id elan_
> { "ELAN060B", 0 },
> { "ELAN060C", 0 },
> { "ELAN0611", 0 },
> + { "ELAN061E", 0 },
> { "ELAN1000", 0 },
> { }
> };
--
Dmitry