[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <30d4fd5a-a82f-2a94-e8cb-ad9b7d2dc5e7@linux.intel.com>
Date: Mon, 23 Apr 2018 04:37:24 -0700
From: Dave Hansen <dave.hansen@...ux.intel.com>
To: Nadav Amit <namit@...are.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
"open list:MEMORY MANAGEMENT" <linux-mm@...ck.org>,
Fengguang Wu <fengguang.wu@...el.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Andy Lutomirski <luto@...nel.org>,
Arjan van de Ven <arjan@...ux.intel.com>,
Borislav Petkov <bp@...en8.de>,
Dan Williams <dan.j.williams@...el.com>,
David Woodhouse <dwmw2@...radead.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"hughd@...gle.com" <hughd@...gle.com>,
"jpoimboe@...hat.com" <jpoimboe@...hat.com>,
"jgross@...e.com" <jgross@...e.com>,
"keescook@...gle.com" <keescook@...gle.com>,
"torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>,
"peterz@...radead.org" <peterz@...radead.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...nel.org" <mingo@...nel.org>
Subject: Re: [PATCH 5/5] x86, pti: filter at vma->vm_page_prot population
On 04/20/2018 06:21 PM, Nadav Amit wrote:
>> pgprot_t vm_get_page_prot(unsigned long vm_flags)
>> {
>> - return __pgprot(pgprot_val(protection_map[vm_flags &
>> + pgprot_t ret = __pgprot(pgprot_val(protection_map[vm_flags &
>> (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]) |
>> pgprot_val(arch_vm_get_page_prot(vm_flags)));
>> +
>> + return arch_filter_pgprot(ret);
>> }
>> EXPORT_SYMBOL(vm_get_page_prot);
> Wouldn’t it be simpler or at least cleaner to change the protection map if
> NX is not supported? I presume it can be done paging_init() similarly to the
> way other archs (e.g., arm, mips) do.
I thought about it, but doing it there requires getting the _timing_
right. You have to do it before the protection map gets used but after
__supported_pte_mask is totally initialized. This seemed more
straightforward, especially as a bug fix.
What you are talking about might be a good cleanup, though.
Powered by blists - more mailing lists