From: "David Hildenbrand (Arm)" <[email protected]>

Define (pgd|p4d|pud)_leaf(), hard-coding it to "false". Note
that it's missed to define pud_leaf() before, allowing architectures to
unknowingly overwrite it.

Still use static inline functions (type checking), and while at it, just
use "bool" as a return value.

Signed-off-by: David Hildenbrand (Arm) <[email protected]>
---
 include/asm-generic/pgtable-nop4d.h | 3 +++
 include/asm-generic/pgtable-nopmd.h | 3 ++-
 include/asm-generic/pgtable-nopud.h | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/asm-generic/pgtable-nop4d.h 
b/include/asm-generic/pgtable-nop4d.h
index 1cf739ee38aa..c6a5a43899b5 100644
--- a/include/asm-generic/pgtable-nop4d.h
+++ b/include/asm-generic/pgtable-nop4d.h
@@ -22,6 +22,9 @@ static inline int pgd_none(pgd_t pgd)         { return 0; }
 static inline int pgd_bad(pgd_t pgd)           { return 0; }
 static inline int pgd_present(pgd_t pgd)       { return 1; }
 static inline void pgd_clear(pgd_t *pgd)       { }
+static inline bool pgd_leaf(pgd_t pgd)         { return false; }
+#define pgd_leaf pgd_leaf
+#define p4d_ERROR(p4d)                         (pgd_ERROR((p4d).pgd))
 
 #define pgd_populate(mm, pgd, p4d)             do { } while (0)
 #define pgd_populate_safe(mm, pgd, p4d)                do { } while (0)
diff --git a/include/asm-generic/pgtable-nopmd.h 
b/include/asm-generic/pgtable-nopmd.h
index ff4235cf84d7..4e5aaf253b6a 100644
--- a/include/asm-generic/pgtable-nopmd.h
+++ b/include/asm-generic/pgtable-nopmd.h
@@ -31,7 +31,8 @@ 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 int pud_user(pud_t pud)          { return 0; }
-static inline int pud_leaf(pud_t pud)          { return 0; }
+static inline bool pud_leaf(pud_t pud)         { return false; }
+#define pud_leaf pud_leaf
 static inline void pud_clear(pud_t *pud)       { }
 
 #define pud_populate(mm, pmd, pte)             do { } while (0)
diff --git a/include/asm-generic/pgtable-nopud.h 
b/include/asm-generic/pgtable-nopud.h
index eedee8e3ad68..6c9bca78047c 100644
--- a/include/asm-generic/pgtable-nopud.h
+++ b/include/asm-generic/pgtable-nopud.h
@@ -29,6 +29,9 @@ static inline int p4d_none(p4d_t p4d)         { return 0; }
 static inline int p4d_bad(p4d_t p4d)           { return 0; }
 static inline int p4d_present(p4d_t p4d)       { return 1; }
 static inline void p4d_clear(p4d_t *p4d)       { }
+static inline bool p4d_leaf(p4d_t p4d)         { return false; }
+#define p4d_leaf p4d_leaf
+#define pud_ERROR(pud)                         (p4d_ERROR((pud).p4d))
 
 #define p4d_populate(mm, p4d, pud)             do { } while (0)
 #define p4d_populate_safe(mm, p4d, pud)                do { } while (0)

-- 
2.43.0


Reply via email to