Messages in this thread | | | Subject | Re: [PATCH v2] x86/mm/pti: in pti_clone_pgtable() don't increase addr by PUD_SIZE | From | Rik van Riel <> | Date | Tue, 20 Aug 2019 12:56:20 -0400 |
| |
On Tue, 2019-08-20 at 10:00 -0400, Song Liu wrote: > > From 9ae74cff4faf4710a11cb8da4c4a3f3404bd9fdd Mon Sep 17 00:00:00 > 2001 > From: Song Liu <songliubraving@fb.com> > Date: Mon, 19 Aug 2019 23:59:47 -0700 > Subject: [PATCH] x86/mm/pti: in pti_clone_pgtable(), increase addr > properly > > Before 32-bit support, pti_clone_pmds() always adds PMD_SIZE to addr. > This behavior changes after the 32-bit support: pti_clone_pgtable() > increases addr by PUD_SIZE for pud_none(*pud) case, and increases > addr by > PMD_SIZE for pmd_none(*pmd) case. However, this is not accurate > because > addr may not be PUD_SIZE/PMD_SIZE aligned. > > Fix this issue by properly rounding up addr to next PUD_SIZE/PMD_SIZE > in these two cases. > > Cc: stable@vger.kernel.org # v4.19+ > Fixes: 16a3fe634f6a ("x86/mm/pti: Clone kernel-image on PTE level for > 32 bit") > Signed-off-by: Song Liu <songliubraving@fb.com> > Cc: Joerg Roedel <jroedel@suse.de> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Andy Lutomirski <luto@kernel.org> > Cc: Peter Zijlstra <peterz@infradead.org>
This looks like it should do the trick!
Reviewed-by: Rik van Riel <riel@surriel.com>
-- All Rights Reversed. [unhandled content-type:application/pgp-signature] | |