Re: [PATCH] x86/mm: Remove broken vsyscall emulation code from the page fault code

From: Ingo Molnar
Date: Wed May 01 2024 - 03:43:20 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > I guess that patch to rip out sig_on_uaccess_err needs to go into 6.9 and
> > even be marked for stable, since it most definitely breaks some stuff
> > currently. Even if that "some stuff" is pretty esoteric (ie
> > "vsyscall=emulate" together with tracing).
>
> Yeah - I just put it into tip:x86/urgent as-is, with the various Tested-by
> and Acked-by tags added, and we'll send it to you later this week if all
> goes well.

Update: added the delta patch below to the fix, because now
'tsk' is unused in emulate_vsyscall().

Thanks,

Ingo

arch/x86/entry/vsyscall/vsyscall_64.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/arch/x86/entry/vsyscall/vsyscall_64.c b/arch/x86/entry/vsyscall/vsyscall_64.c
index 3b0f61b2ea6d..2fb7d53cf333 100644
--- a/arch/x86/entry/vsyscall/vsyscall_64.c
+++ b/arch/x86/entry/vsyscall/vsyscall_64.c
@@ -115,7 +115,6 @@ static bool write_ok_or_segv(unsigned long ptr, size_t size)
bool emulate_vsyscall(unsigned long error_code,
struct pt_regs *regs, unsigned long address)
{
- struct task_struct *tsk;
unsigned long caller;
int vsyscall_nr, syscall_nr, tmp;
long ret;
@@ -166,8 +165,6 @@ bool emulate_vsyscall(unsigned long error_code,
goto sigsegv;
}

- tsk = current;
-
/*
* Check for access_ok violations and find the syscall nr.
*