[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151112184730.GI3838@pd.tnic>
Date: Thu, 12 Nov 2015 19:47:30 +0100
From: Borislav Petkov <bp@...en8.de>
To: Matt Fleming <matt@...eblueprint.co.uk>
Cc: Ingo Molnar <mingo@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"H . Peter Anvin" <hpa@...or.com>, Toshi Kani <toshi.kani@...com>,
linux-kernel@...r.kernel.org, linux-efi@...r.kernel.org,
Sai Praneeth Prakhya <sai.praneeth.prakhya@...el.com>
Subject: Re: [PATCH 2/6] x86/mm/pageattr: Do not strip pte flags from cpa->pfn
On Thu, Nov 12, 2015 at 03:40:19PM +0000, Matt Fleming wrote:
> Removing the PAGE_NX bit from cpa->pfn will corrupt the page frame
> number address rather than removing PAGE_NX as the code intends. This
> is unlikley to be a problem in practice because _PAGE_BIT_NX is bit 63
> and most machines do not have page frame numbers that reach that high.
>
> Still, pte flags are never stored in cpa->pfn so we can safely delete
> the code.
>
> Cc: Borislav Petkov <bp@...en8.de>
> Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@...el.com>
> Signed-off-by: Matt Fleming <matt@...eblueprint.co.uk>
> ---
> arch/x86/mm/pageattr.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
> index 893921b12272..d5240be55915 100644
> --- a/arch/x86/mm/pageattr.c
> +++ b/arch/x86/mm/pageattr.c
> @@ -885,11 +885,6 @@ static void populate_pte(struct cpa_data *cpa,
> pte = pte_offset_kernel(pmd, start);
>
> while (num_pages-- && start < end) {
> -
> - /* deal with the NX bit */
> - if (!(pgprot_val(pgprot) & _PAGE_NX))
> - cpa->pfn &= ~_PAGE_NX;
> -
> set_pte(pte, pfn_pte(cpa->pfn, pgprot));
>
> start += PAGE_SIZE;
> --
I think this should be part of the 1st patch because there you're
correcting ->pfn to actually be a pfn.
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists