Thread (1 message) 1 message, 1 author, 2021-12-27

Re: [PATCH v2] x86: Implement arch_prctl(ARCH_VSYSCALL_CONTROL) to disable vsyscall

From: Florian Weimer <hidden>
Date: 2021-12-27 17:40:53
Also in: linux-arch, linux-mm, lkml

Possibly related (same subject, not in this thread)

* Andrei Vagin:
quoted
diff --git a/arch/x86/entry/vsyscall/vsyscall_64.c b/arch/x86/entry/vsyscall/vsyscall_64.c
index fd2ee9408e91..8eb3bcf2cedf 100644
--- a/arch/x86/entry/vsyscall/vsyscall_64.c
+++ b/arch/x86/entry/vsyscall/vsyscall_64.c
@@ -174,6 +174,12 @@ bool emulate_vsyscall(unsigned long error_code,

        tsk = current;

+       if (tsk->mm->context.vsyscall_disabled) {
+               warn_bad_vsyscall(KERN_WARNING, regs,
+                                 "vsyscall after lockout (exploit attempt?)");
I don't think that we need this warning message. If we disable
vsyscall, its address range is not differ from other addresses around
and has to be handled the same way. For example, gVisor or any other
sandbox engines may want to emulate vsyscall, but the kernel log will
be full of such messages.
But with vsyscall=none, such messages are already printed.  That's why I
added the warning for the lockout case as well.
quoted
diff --git a/tools/testing/selftests/x86/vsyscall_control.c b/tools/testing/selftests/x86/vsyscall_control.c
new file mode 100644
index 000000000000..ee966f936c89
--- /dev/null
+++ b/tools/testing/selftests/x86/vsyscall_control.c
I would move the test in a separate patch...
I can do that if it simplifies matters.

Thanks,
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help