Open geekjy opened 6 months ago
linux-headers-6.8.0-31-generic dont'work.
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/kernel/trace/trace_syscalls.c?id=v6.8.8&id2=v6.6.1
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index de753403cdafbd..9c581d6da843a3 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -556,7 +556,7 @@ static int perf_call_bpf_enter(struct trace_event_call call, struct pt_regs re { struct syscall_tp_t { struct trace_entry ent;
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/entry/syscall_32.c?id=v6.8.8&id2=v6.3.1
diff --git a/arch/x86/entry/syscall_32.c b/arch/x86/entry/syscall_32.c index 8cfc9bc73e7f8b..c2235bae17ef66 100644 --- a/arch/x86/entry/syscall_32.c +++ b/arch/x86/entry/syscall_32.c @@ -18,8 +18,25 @@
+/*
-__visible const sys_call_ptr_t ia32_sys_call_table[] = { +const sys_call_ptr_t sys_call_table[] = {
}; +#undef __SYSCALL +#endif
+#define SYSCALL(nr, sym) case nr: return ia32_##sym(regs);
+long ia32_sys_call(const struct pt_regs *regs, unsigned int nr) +{
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/entry/syscall_64.c?id=v6.8.8&id2=v6.6.1
diff --git a/arch/x86/entry/syscall_64.c b/arch/x86/entry/syscall_64.c index be120eec1fc9f9..33b3f09e6f151e 100644 --- a/arch/x86/entry/syscall_64.c +++ b/arch/x86/entry/syscall_64.c @@ -11,8 +11,23 @@
-asmlinkage const sys_call_ptr_t sys_call_table[] = { +const sys_call_ptr_t sys_call_table[] = {
}; +#undef __SYSCALL
+#define SYSCALL(nr, sym) case nr: return x64_##sym(regs);
+long x64_sys_call(const struct pt_regs *regs, unsigned int nr) +{
linux-headers-6.8.0-31-generic dont'work.
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/kernel/trace/trace_syscalls.c?id=v6.8.8&id2=v6.6.1
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index de753403cdafbd..9c581d6da843a3 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -556,7 +556,7 @@ static int perf_call_bpf_enter(struct trace_event_call call, struct pt_regs re { struct syscall_tp_t { struct trace_entry ent;
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/entry/syscall_32.c?id=v6.8.8&id2=v6.3.1
diff --git a/arch/x86/entry/syscall_32.c b/arch/x86/entry/syscall_32.c index 8cfc9bc73e7f8b..c2235bae17ef66 100644 --- a/arch/x86/entry/syscall_32.c +++ b/arch/x86/entry/syscall_32.c @@ -18,8 +18,25 @@
include <asm/syscalls_32.h>
undef __SYSCALL
+/*
define SYSCALL(nr, sym) ia32_##sym,
-__visible const sys_call_ptr_t ia32_sys_call_table[] = { +const sys_call_ptr_t sys_call_table[] = {
include <asm/syscalls_32.h>
}; +#undef __SYSCALL +#endif
+#define SYSCALL(nr, sym) case nr: return ia32_##sym(regs);
+long ia32_sys_call(const struct pt_regs *regs, unsigned int nr) +{
include <asm/syscalls_32.h>
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/entry/syscall_64.c?id=v6.8.8&id2=v6.6.1
diff --git a/arch/x86/entry/syscall_64.c b/arch/x86/entry/syscall_64.c index be120eec1fc9f9..33b3f09e6f151e 100644 --- a/arch/x86/entry/syscall_64.c +++ b/arch/x86/entry/syscall_64.c @@ -11,8 +11,23 @@
include <asm/syscalls_64.h>
undef __SYSCALL
+/*
define SYSCALL(nr, sym) x64_##sym,
-asmlinkage const sys_call_ptr_t sys_call_table[] = { +const sys_call_ptr_t sys_call_table[] = {
include <asm/syscalls_64.h>
}; +#undef __SYSCALL
+#define SYSCALL(nr, sym) case nr: return x64_##sym(regs);
+long x64_sys_call(const struct pt_regs *regs, unsigned int nr) +{
include <asm/syscalls_64.h>