On 6/23/25 05:41, Kirill A. Shutemov wrote: > So, IIUC, that's dependency of vsyscall PF on NX. Do we want to disable > vsyscall on boot if NX is not available? Well, vsyscall=none can break old userspace, so forcing it on old hardware doesn't seem like a great idea. But, either way, this doesn't really appear to be a LASS issue. This code: > if (!(error_code & X86_PF_INSTR)) { > /* Failed vsyscall read */ > if (vsyscall_mode == EMULATE) > return false; Is really asking the question: Is this #PF from an instruction fetch in the vsyscall page? That _should_ be able to be done by comparing CR2 and regs->rip. In fact, that's done just below anyway: WARN_ON_ONCE(address != regs->ip); So I think we can fix this up with something like the attached patch which just drives the if() from regs->rip and make the warning NX-only. But this code has been like this a long time and I'm 99% sure the x86 selftests poke at all these cases. I'm curious what they do on those old P4's (or a 64-bit VM with NX turned off), but it's not super important either way.