On Tue, Jan 16, 2018 at 8:36 AM, Joerg Roedel <joro@xxxxxxxxxx> wrote: > > here is my current WIP code to enable PTI on x86-32. It is > still in a pretty early state, but it successfully boots my > KVM guest with PAE and with legacy paging. The existing PTI > code for x86-64 already prepares a lot of the stuff needed > for 32 bit too, thanks for that to all the people involved > in its development :) Yes, I'm very happy to see that this is actually not nearly as bad as I feared it might be, Some of those #ifdef's in the PTI code you added might want more commentary about what the exact differences are. And maybe they could be done more cleanly with some abstraction. But nothing looked _horrible_. > The code has not run on bare-metal yet, I'll test that in > the next days once I setup a 32 bit box again. I also havn't > tested Wine and DosEMU yet, so this might also be broken. .. and please run all the segment and syscall selfchecks that Andy has written. But yes, checking bare metal, and checking the "odd" applications like Wine and dosemu (and kvm etc) within the PTI kernel is certainly a good idea. > One of the things that are surely broken is XEN_PV support. > I'd appreciate any help with testing and bugfixing on that > front. Xen PV and PTI don't work together even on x86-64 afaik, the Xen people apparently felt it wasn't worth it. See the if (hypervisor_is_type(X86_HYPER_XEN_PV)) { pti_print_if_insecure("disabled on XEN PV."); return; } in pti_check_boottime_disable(). Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>