[GIT PULL] core/urgent for v5.9-rc6

From: Borislav Petkov
Date: Sun Sep 20 2020 - 16:04:57 EST


Hi Linus,

please pull a single syscall tracing fix.

Thx.

---
The following changes since commit 856deb866d16e29bd65952e0289066f6078af773:

Linux 5.9-rc5 (2020-09-13 16:06:00 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/core_urgent_for_v5.9_rc6

for you to fetch changes up to b6ec413461034d49f9e586845825adb35ba308f6:

core/entry: Report syscall correctly for trace and audit (2020-09-14 22:49:51 +0200)

----------------------------------------------------------------
Fix the seccomp syscall rewriting so that trace and audit see the
rewritten syscall number, from Kees Cook.

----------------------------------------------------------------
Kees Cook (1):
core/entry: Report syscall correctly for trace and audit

kernel/entry/common.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/entry/common.c b/kernel/entry/common.c
index 18683598edbc..6fdb6105e6d6 100644
--- a/kernel/entry/common.c
+++ b/kernel/entry/common.c
@@ -60,13 +60,15 @@ static long syscall_trace_enter(struct pt_regs *regs, long syscall,
return ret;
}

+ /* Either of the above might have changed the syscall number */
+ syscall = syscall_get_nr(current, regs);
+
if (unlikely(ti_work & _TIF_SYSCALL_TRACEPOINT))
trace_sys_enter(regs, syscall);

syscall_enter_audit(regs, syscall);

- /* The above might have changed the syscall number */
- return ret ? : syscall_get_nr(current, regs);
+ return ret ? : syscall;
}

static __always_inline long

--
Regards/Gruss,
Boris.

SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer, HRB 36809, AG Nürnberg