From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753154AbdLNOPn convert rfc822-to-8bit (ORCPT ); Thu, 14 Dec 2017 09:15:43 -0500 Received: from prv-mh.provo.novell.com ([137.65.248.74]:52879 "EHLO prv-mh.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752718AbdLNOPj (ORCPT ); Thu, 14 Dec 2017 09:15:39 -0500 Message-Id: <5A32959902000078001975D6@prv-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 14.2.2 Date: Thu, 14 Dec 2017 07:15:37 -0700 From: "Jan Beulich" To: "Juergen Gross" Cc: , "Thomas Gleixner" , "xen-devel" , "Boris Ostrovsky" , , , Subject: Re: [PATCH 1/2] x86: consider effective protection attributes in W+X check References: <5A2FBC570200007800196B3E@prv-mh.provo.novell.com> <5A2FBE0A0200007800196B4F@suse.com> In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >>> On 14.12.17 at 15:04, wrote: > On 12/12/17 11:31, Jan Beulich wrote: >> @@ -335,42 +346,45 @@ static inline bool kasan_page_table(stru >> >> #if PTRS_PER_PMD > 1 >> >> -static void walk_pmd_level(struct seq_file *m, struct pg_state *st, pud_t addr, unsigned long P) >> +static void walk_pmd_level(struct seq_file *m, struct pg_state *st, pud_t addr, >> + pgprotval_t eff_in, unsigned long P) >> { >> int i; >> pmd_t *start, *pmd_start; >> - pgprotval_t prot; >> + pgprotval_t prot, eff; >> >> pmd_start = start = (pmd_t *)pud_page_vaddr(addr); >> for (i = 0; i < PTRS_PER_PMD; i++) { >> st->current_address = normalize_addr(P + i * PMD_LEVEL_MULT); >> if (!pmd_none(*start)) { >> + prot = pmd_flags(*start); >> + eff = effective_prot(eff_in, prot); >> if (pmd_large(*start) || !pmd_present(*start)) { >> - prot = pmd_flags(*start); >> - note_page(m, st, __pgprot(prot), 4); >> + note_page(m, st, __pgprot(prot), eff, 4); >> } else if (!kasan_page_table(m, st, pmd_start)) { >> - walk_pte_level(m, st, *start, >> + walk_pte_level(m, st, *start, eff, >> P + i * PMD_LEVEL_MULT); >> } > > You can drop the braces for both cases. Applies to similar > constructs below, too. I did consider that, but decided against to allow the patch to show more clearly what it is that is actually being changed. > With that fixed you can add my: > > Reviewed-by: Juergen Gross Thanks. I'd like to wait for the x86 maintainer's opinion, and hence won't add your R-b unless you tell me that's fine either way, or unless they too would prefer resulting code cleanliness over patch readability. Jan