lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 20 Nov 2020 08:09:16 +0530 From: Anshuman Khandual <anshuman.khandual@....com> To: linux-arm-kernel@...ts.infradead.org Cc: Russell King <linux@...linux.org.uk>, Andrew Morton <akpm@...ux-foundation.org>, linux-kernel@...r.kernel.org, Linus Walleij <linus.walleij@...aro.org> Subject: Re: [PATCH] arm/mm: Convert PUD level pgtable helper macros into functions On 11/10/20 9:06 AM, Anshuman Khandual wrote: > Macros used as functions can be problematic from the compiler perspective. > There was a build failure report caused primarily because of non reference > of an argument variable. Hence convert PUD level pgtable helper macros into > functions in order to avoid such problems in the future. In the process, it > fixes the argument variables sequence in set_pud() which probably remained > hidden for being a macro. > > https://lore.kernel.org/linux-mm/202011020749.5XQ3Hfzc-lkp@intel.com/ > https://lore.kernel.org/linux-mm/5fa49698.Vu2O3r+dU20UoEJ+%25lkp@intel.com/ > > Cc: Russell King <linux@...linux.org.uk> > Cc: Andrew Morton <akpm@...ux-foundation.org> > Cc: linux-arm-kernel@...ts.infradead.org > Cc: linux-kernel@...r.kernel.org > Reviewed-by: Linus Walleij <linus.walleij@...aro.org> > Signed-off-by: Anshuman Khandual <anshuman.khandual@....com> > --- > Only build tested. Hello Russel, Any updates on this ? These changes come from an earlier discussion on the mm list. Wondering if this too can also be submitted in the arm patch tracking system. Thank you. - Anshuman + Linus Walleij <linus.walleij@...aro.org> > > arch/arm/include/asm/pgtable-2level.h | 27 ++++++++++++++++++++++----- > 1 file changed, 22 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/include/asm/pgtable-2level.h b/arch/arm/include/asm/pgtable-2level.h > index 3502c2f..9d4f5ee 100644 > --- a/arch/arm/include/asm/pgtable-2level.h > +++ b/arch/arm/include/asm/pgtable-2level.h > @@ -177,11 +177,28 @@ > * the pud: the pud entry is never bad, always exists, and can't be set or > * cleared. > */ > -#define pud_none(pud) (0) > -#define pud_bad(pud) (0) > -#define pud_present(pud) (1) > -#define pud_clear(pudp) do { } while (0) > -#define set_pud(pud,pudp) do { } while (0) > +static inline int pud_none(pud_t pud) > +{ > + return 0; > +} > + > +static inline int pud_bad(pud_t pud) > +{ > + return 0; > +} > + > +static inline int pud_present(pud_t pud) > +{ > + return 1; > +} > + > +static inline void pud_clear(pud_t *pudp) > +{ > +} > + > +static inline void set_pud(pud_t *pudp, pud_t pud) > +{ > +} > > static inline pmd_t *pmd_offset(pud_t *pud, unsigned long addr) > { >
Powered by blists - more mailing lists