[PATCH] tracing/syscalls: ignore numbers outside NR_syscalls' range
From: rostedt@goodmis.org (Steven Rostedt)
Date: 2014-10-30 11:30:41
Also in:
lkml
From: rostedt@goodmis.org (Steven Rostedt)
Date: 2014-10-30 11:30:41
Also in:
lkml
On Thu, 30 Oct 2014 11:14:41 +0000 Russell King - ARM Linux [off-list ref] wrote:
We have always had syscall number range of 0x900000 or so. The tracing design does not expect that. Therefore, the tracing design did not take account of ARM when it was created. Therefore, it's up to the tracing people to decide how to properly fit their ill-designed subsystem into one of the popular and well-established kernel architectures - or at least suggest a way to work around this issue.
Fine, lets define a MAX_SYSCALL_NR that is by default NR_syscalls, but an architecture can override it. In trace_syscalls.c, where the checks are done, have this: #ifndef MAX_SYSCALL_NR # define MAX_SYSCALL_NR NR_syscalls #endif change all the checks to test against MAX_SYSCALL_NR instead of NR_syscalls. Then in arch/arm/include/asm/syscall.h have: #define MAX_SYSCALL_NR 0xa00000 or whatever would be the highest syscall number for ARM. -- Steve