On Mon, Jan 29, 2018 at 06:16:18PM -0800, Hugh Dickins wrote: > From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > > commit 445b69e3b75e42362a5bdc13c8b8f61599e2228a upstream > > The inital fix for trusted boot and PTI potentially misses the pgd clearing > if pud_alloc() sets a PGD. It probably works in *practice* because for two > adjacent calls to map_tboot_page() that share a PGD entry, the first will > clear NX, *then* allocate and set the PGD (without NX clear). The second > call will *not* allocate but will clear the NX bit. > > Defer the NX clearing to a point after it is known that all top-level > allocations have occurred. Add a comment to clarify why. > > [ tglx: Massaged changelog ] > > Fixes: 262b6b30087 ("x86/tboot: Unbreak tboot with PTI enabled") > Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Cc: Jon Masters <jcm@xxxxxxxxxx> > Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> > Cc: gnomes@xxxxxxxxxxxxxxxxxxx > Cc: peterz@xxxxxxxxxxxxx > Cc: ning.sun@xxxxxxxxx > Cc: tboot-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: andi@xxxxxxxxxxxxxx > Cc: luto@xxxxxxxxxx > Cc: law@xxxxxxxxxx > Cc: pbonzini@xxxxxxxxxx > Cc: torvalds@xxxxxxxxxxxxxxxxxxxx > Cc: gregkh@xxxxxxxxxxxxxxxxxxxx > Cc: dwmw@xxxxxxxxxxxx > Cc: nickc@xxxxxxxxxx > Cc: stable@xxxxxxxxxxxxxxx > Link: https://lkml.kernel.org/r/20180110224939.2695CD47@xxxxxxxxxxxxxxxxxx > Cc: Jiri Kosina <jkosina@xxxxxxx> > Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> > > hughd notes: I have not tested tboot, but this looks to me as necessary > and as safe in old-Kaiser backports as it is upstream; I'm not submitting > the commit-to-be-fixed 262b6b30087, since it was undone by 445b69e3b75e, > and makes conflict trouble because of 5-level's p4d versus 4-level's pgd. Thanks for the backport, now queued up. greg k-h