On 23/06/2025 4:32 pm, Dave Hansen wrote: > 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. Yeah, that looks good. Furthermore, it means that the LASS #GP path (patch 9) will be consistent with this path. (i.e. both doing a regs->rip check.) Patch Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> if that counts for anything. ~Andrew