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  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed,  6 Mar 2019 15:50:19 +0000
From:   Steven Price <>
Cc:     Steven Price <>,
        Andy Lutomirski <>,
        Ard Biesheuvel <>,
        Arnd Bergmann <>, Borislav Petkov <>,
        Catalin Marinas <>,
        Dave Hansen <>,
        Ingo Molnar <>,
        James Morse <>,
        Jérôme Glisse <>,
        Peter Zijlstra <>,
        Thomas Gleixner <>,
        Will Deacon <>,,
        "H. Peter Anvin" <>,,,
        Mark Rutland <>,
        "Liang, Kan" <>,
        "David S. Miller" <>,
Subject: [PATCH v4 07/19] sparc: mm: Add p?d_large() definitions

walk_page_range() is going to be allowed to walk page tables other than
those of user space. For this it needs to know when it has reached a
'leaf' entry in the page tables. This information is provided by the
p?d_large() functions/macros.

For sparc 64 bit, pmd_large() and pud_large() are already provided, so
add #defines to prevent the generic versions (added in a later patch)
from being used.

CC: "David S. Miller" <>
Signed-off-by: Steven Price <>
 arch/sparc/include/asm/pgtable_64.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index 1393a8ac596b..f502e937c8fe 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -713,6 +713,7 @@ static inline unsigned long pte_special(pte_t pte)
 	return pte_val(pte) & _PAGE_SPECIAL;
+#define pmd_large	pmd_large
 static inline unsigned long pmd_large(pmd_t pmd)
 	pte_t pte = __pte(pmd_val(pmd));
@@ -894,6 +895,7 @@ static inline unsigned long pud_page_vaddr(pud_t pud)
 #define pgd_present(pgd)		(pgd_val(pgd) != 0U)
 #define pgd_clear(pgdp)			(pgd_val(*(pgdp)) = 0UL)
+#define pud_large	pud_large
 static inline unsigned long pud_large(pud_t pud)
 	pte_t pte = __pte(pud_val(pud));

Powered by blists - more mailing lists