Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751606AbeAPW0p (ORCPT + 1 other); Tue, 16 Jan 2018 17:26:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:56768 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750892AbeAPW0o (ORCPT ); Tue, 16 Jan 2018 17:26:44 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9E659217A4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=luto@kernel.org X-Google-Smtp-Source: ACJfBote3sQ3dCbsKFd2l9MMxSKLOVzNIVTEXcsX8aZdKRHpaDPOU7yxcfpLTr4AEB67gePP5KC0QCj7wuSs1Flu2Bc= MIME-Version: 1.0 In-Reply-To: <1516120619-1159-1-git-send-email-joro@8bytes.org> References: <1516120619-1159-1-git-send-email-joro@8bytes.org> From: Andy Lutomirski Date: Tue, 16 Jan 2018 14:26:22 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 00/16] PTI support for x86-32 To: Joerg Roedel Cc: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , X86 ML , LKML , linux-mm@kvack.org, Linus Torvalds , Andy Lutomirski , Dave Hansen , Josh Poimboeuf , Juergen Gross , Peter Zijlstra , Borislav Petkov , Jiri Kosina , Boris Ostrovsky , Brian Gerst , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , Will Deacon , "Liguori, Anthony" , Daniel Gruss , Hugh Dickins , Kees Cook , Andrea Arcangeli , Waiman Long , Joerg Roedel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Tue, Jan 16, 2018 at 8:36 AM, Joerg Roedel wrote: > From: Joerg Roedel > > Hi, > > 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 :) > > The patches are split as follows: > > - 1-3 contain the entry-code changes to enter and > exit the kernel via the sysenter trampoline stack. > > - 4-7 are fixes to get the code compile on 32 bit > with CONFIG_PAGE_TABLE_ISOLATION=y. > > - 8-14 adapt the existing PTI code to work properly > on 32 bit and add the needed parts to 32 bit > page-table code. > > - 15 switches PTI on by adding the CR3 switches to > kernel entry/exit. > > - 16 enables the Kconfig for all of X86 > > 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. > If you pass all the x86 selftests, then Wine and DOSEMU are pretty likely to work :) --Andy