All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20200308105444.GE13982@linux.ibm.com>

diff --git a/a/1.txt b/N1/1.txt
index 786f7aa..2ca831a 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
@@ -1050,3 +1050,8 @@ index e8c84d265602..0e1cc7275566 100644
  		printf("No valid PUD\n");
 -- 
 2.25.1
+
+_______________________________________________
+kvmarm mailing list
+kvmarm@lists.cs.columbia.edu
+https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
diff --git a/a/content_digest b/N1/content_digest
index 6483582..53c1f0a 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -3,7 +3,7 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
  "Cc\0Rich Felker <dalias@libc.org>"
   linux-ia64@vger.kernel.org
@@ -126,8 +126,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +354,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +607,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +627,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +718,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +735,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1092,6 +1092,11 @@
  " \tif (pud_none(*pudp)) {\n"
  " \t\tprintf(\"No valid PUD\\n\");\n"
  "-- \n"
- 2.25.1
+ "2.25.1\n"
+ "\n"
+ "_______________________________________________\n"
+ "kvmarm mailing list\n"
+ "kvmarm@lists.cs.columbia.edu\n"
+ https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+ce6ace669d83a0e4c8c2c364881062425bcbedd1bd306dd1f543cfa3033d3fc1

diff --git a/a/1.txt b/N2/1.txt
index 786f7aa..5249058 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
diff --git a/a/content_digest b/N2/content_digest
index 6483582..ba596aa 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -3,42 +3,28 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
- "Cc\0Rich Felker <dalias@libc.org>"
-  linux-ia64@vger.kernel.org
-  Geert Uytterhoeven <geert+renesas@glider.be>
-  linux-sh@vger.kernel.org
+ "Cc\0Mike Rapoport <rppt@kernel.org>"
+  linux-kernel@vger.kernel.org
+  Arnd Bergmann <arnd@arndb.de>
   Benjamin Herrenschmidt <benh@kernel.crashing.org>
-  linux-mm@kvack.org
-  Paul Mackerras <paulus@samba.org>
-  linux-hexagon@vger.kernel.org
-  Will Deacon <will@kernel.org>
-  kvmarm@lists.cs.columbia.edu
-  Jonas Bonn <jonas@southpole.se>
-  linux-arch@vger.kernel.org
   Brian Cain <bcain@codeaurora.org>
-  Marc Zyngier <maz@kernel.org>
-  Russell King <linux@armlinux.org.uk>
-  Ley Foon Tan <ley.foon.tan@intel.com>
   Catalin Marinas <catalin.marinas@arm.com>
-  uclinux-h8-devel@lists.sourceforge.jp
+  Christophe Leroy <christophe.leroy@c-s.fr>
   Fenghua Yu <fenghua.yu@intel.com>
-  Arnd Bergmann <arnd@arndb.de>
-  kvm-ppc@vger.kernel.org
-  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
-  openrisc@lists.librecores.org
-  Stafford Horne <shorne@gmail.com>
+  Geert Uytterhoeven <geert+renesas@glider.be>
   Guan Xuetao <gxt@pku.edu.cn>
-  linux-arm-kernel@lists.infradead.org
-  Christophe Leroy <christophe.leroy@c-s.fr>
-  Tony Luck <tony.luck@intel.com>
-  Yoshinori Sato <ysato@users.sourceforge.jp>
-  linux-kernel@vger.kernel.org
+  James Morse <james.morse@arm.com>
+  Jonas Bonn <jonas@southpole.se>
+  Julien Thierry <julien.thierry.kdev@gmail.com>
+  Ley Foon Tan <ley.foon.tan@intel.com>
+  Marc Zyngier <maz@kernel.org>
   Michael Ellerman <mpe@ellerman.id.au>
-  nios2-dev@lists.rocketboards.org
-  linuxppc-dev@lists.ozlabs.org
- " Mike Rapoport <rppt@kernel.org>\0"
+  Paul Mackerras <paulus@samba.org>
+  Rich Felker <dalias@libc.org>
+  Russell King <linux@armlinux.org.uk>
+ " Stafford Horne <shorne@gmail.com>St\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 06, 2020 at 08:00:16PM -0800, Andrew Morton wrote:\n"
@@ -126,8 +112,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +340,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +593,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +613,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +704,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +721,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1094,4 +1080,4 @@
  "-- \n"
  2.25.1
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+5d110411df9d144d5a08d4f66b8cdb31e9412f4f687cb3ebb990797d577e207e

diff --git a/a/1.txt b/N3/1.txt
index 786f7aa..c0e5f4b 100644
--- a/a/1.txt
+++ b/N3/1.txt
@@ -18,7 +18,7 @@ On Fri, Mar 06, 2020 at 08:00:16PM -0800, Andrew Morton wrote:
 > powerpc-32-drop-get_pteptr.patch and
 > powerpc-add-support-for-folded-p4d-page-tables.patch (and
 > powerpc-add-support-for-folded-p4d-page-tables-fix.patch)?
- 
+
 This is the powerpc-add-support-for-folded-p4d-page-tables.patch on top of
 current powerpc/next. The powerpc-32-drop-get_pteptr.patch is already there
 and I've folded powerpc-add-support-for-folded-p4d-page-tables-fix.patch
@@ -67,24 +67,24 @@ index 7549393c4c43..6052b72216a6 100644
 @@ -2,7 +2,6 @@
  #ifndef _ASM_POWERPC_BOOK3S_32_PGTABLE_H
  #define _ASM_POWERPC_BOOK3S_32_PGTABLE_H
- 
+
 -#define __ARCH_USE_5LEVEL_HACK
  #include <asm-generic/pgtable-nopmd.h>
- 
+
  #include <asm/book3s/32/hash.h>
 diff --git a/arch/powerpc/include/asm/book3s/64/hash.h b/arch/powerpc/include/asm/book3s/64/hash.h
 index 2781ebf6add4..876d1528c2cf 100644
 --- a/arch/powerpc/include/asm/book3s/64/hash.h
 +++ b/arch/powerpc/include/asm/book3s/64/hash.h
 @@ -134,9 +134,9 @@ static inline int get_region_id(unsigned long ea)
- 
+
  #define	hash__pmd_bad(pmd)		(pmd_val(pmd) & H_PMD_BAD_BITS)
  #define	hash__pud_bad(pud)		(pud_val(pud) & H_PUD_BAD_BITS)
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -95,14 +95,14 @@ index a41e91bd0580..69c5b051734f 100644
 @@ -85,9 +85,9 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
  	kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd);
  }
- 
+
 -static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pud_t *pud)
 +static inline void p4d_populate(struct mm_struct *mm, p4d_t *pgd, pud_t *pud)
  {
 -	*pgd =  __pgd(__pgtable_ptr_val(pud) | PGD_VAL_BITS);
 +	*pgd =  __p4d(__pgtable_ptr_val(pud) | PGD_VAL_BITS);
  }
- 
+
  static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)
 diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h
 index 201a69e6a355..fa60e8594b9f 100644
@@ -111,10 +111,10 @@ index 201a69e6a355..fa60e8594b9f 100644
 @@ -2,7 +2,7 @@
  #ifndef _ASM_POWERPC_BOOK3S_64_PGTABLE_H_
  #define _ASM_POWERPC_BOOK3S_64_PGTABLE_H_
- 
+
 -#include <asm-generic/5level-fixup.h>
 +#include <asm-generic/pgtable-nop4d.h>
- 
+
  #ifndef __ASSEMBLY__
  #include <linux/mmdebug.h>
 @@ -251,7 +251,7 @@ extern unsigned long __pmd_frag_size_shift;
@@ -123,13 +123,13 @@ index 201a69e6a355..fa60e8594b9f 100644
  /* Bits to mask out from a PGD to get to the PUD page */
 -#define PGD_MASKED_BITS		0xc0000000000000ffUL
 +#define P4D_MASKED_BITS		0xc0000000000000ffUL
- 
+
  /*
   * Used as an indicator for rcu callback functions
 @@ -949,54 +949,60 @@ static inline bool pud_access_permitted(pud_t pud, bool write)
  	return pte_access_permitted(pud_pte(pud), write);
  }
- 
+
 -#define pgd_write(pgd)		pte_write(pgd_pte(pgd))
 +#define __p4d_raw(x)	((p4d_t) { __pgd_raw(x) })
 +static inline __be64 p4d_raw(p4d_t x)
@@ -138,42 +138,42 @@ index 201a69e6a355..fa60e8594b9f 100644
 +}
 +
 +#define p4d_write(p4d)		pte_write(p4d_pte(p4d))
- 
+
 -static inline void pgd_clear(pgd_t *pgdp)
 +static inline void p4d_clear(p4d_t *p4dp)
  {
 -	*pgdp = __pgd(0);
 +	*p4dp = __p4d(0);
  }
- 
+
 -static inline int pgd_none(pgd_t pgd)
 +static inline int p4d_none(p4d_t p4d)
  {
 -	return !pgd_raw(pgd);
 +	return !p4d_raw(p4d);
  }
- 
+
 -static inline int pgd_present(pgd_t pgd)
 +static inline int p4d_present(p4d_t p4d)
  {
 -	return !!(pgd_raw(pgd) & cpu_to_be64(_PAGE_PRESENT));
 +	return !!(p4d_raw(p4d) & cpu_to_be64(_PAGE_PRESENT));
  }
- 
+
 -static inline pte_t pgd_pte(pgd_t pgd)
 +static inline pte_t p4d_pte(p4d_t p4d)
  {
 -	return __pte_raw(pgd_raw(pgd));
 +	return __pte_raw(p4d_raw(p4d));
  }
- 
+
 -static inline pgd_t pte_pgd(pte_t pte)
 +static inline p4d_t pte_p4d(pte_t pte)
  {
 -	return __pgd_raw(pte_raw(pte));
 +	return __p4d_raw(pte_raw(pte));
  }
- 
+
 -static inline int pgd_bad(pgd_t pgd)
 +static inline int p4d_bad(p4d_t p4d)
  {
@@ -183,7 +183,7 @@ index 201a69e6a355..fa60e8594b9f 100644
 +		return radix__p4d_bad(p4d);
 +	return hash__p4d_bad(p4d);
  }
- 
+
 -#define pgd_access_permitted pgd_access_permitted
 -static inline bool pgd_access_permitted(pgd_t pgd, bool write)
 +#define p4d_access_permitted p4d_access_permitted
@@ -192,24 +192,24 @@ index 201a69e6a355..fa60e8594b9f 100644
 -	return pte_access_permitted(pgd_pte(pgd), write);
 +	return pte_access_permitted(p4d_pte(p4d), write);
  }
- 
+
 -extern struct page *pgd_page(pgd_t pgd);
 +extern struct page *p4d_page(p4d_t p4d);
- 
+
  /* Pointers in the page table tree are physical addresses */
  #define __pgtable_ptr_val(ptr)	__pa(ptr)
- 
+
  #define pmd_page_vaddr(pmd)	__va(pmd_val(pmd) & ~PMD_MASKED_BITS)
  #define pud_page_vaddr(pud)	__va(pud_val(pud) & ~PUD_MASKED_BITS)
 -#define pgd_page_vaddr(pgd)	__va(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_page_vaddr(p4d)	__va(p4d_val(p4d) & ~P4D_MASKED_BITS)
- 
+
  #define pgd_index(address) (((address) >> (PGDIR_SHIFT)) & (PTRS_PER_PGD - 1))
  #define pud_index(address) (((address) >> (PUD_SHIFT)) & (PTRS_PER_PUD - 1))
 @@ -1010,8 +1016,8 @@ extern struct page *pgd_page(pgd_t pgd);
- 
+
  #define pgd_offset(mm, address)	 ((mm)->pgd + pgd_index(address))
- 
+
 -#define pud_offset(pgdp, addr)	\
 -	(((pud_t *) pgd_page_vaddr(*(pgdp))) + pud_index(addr))
 +#define pud_offset(p4dp, addr)	\
@@ -220,7 +220,7 @@ index 201a69e6a355..fa60e8594b9f 100644
 @@ -1368,11 +1374,11 @@ static inline bool pud_is_leaf(pud_t pud)
  	return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE));
  }
- 
+
 -#define pgd_is_leaf pgd_is_leaf
 -#define pgd_leaf pgd_is_leaf
 -static inline bool pgd_is_leaf(pgd_t pgd)
@@ -231,7 +231,7 @@ index 201a69e6a355..fa60e8594b9f 100644
 -	return !!(pgd_raw(pgd) & cpu_to_be64(_PAGE_PTE));
 +	return !!(p4d_raw(p4d) & cpu_to_be64(_PAGE_PTE));
  }
- 
+
  #endif /* __ASSEMBLY__ */
 diff --git a/arch/powerpc/include/asm/book3s/64/radix.h b/arch/powerpc/include/asm/book3s/64/radix.h
 index d97db3ad9aae..9bca2ac64220 100644
@@ -243,20 +243,20 @@ index d97db3ad9aae..9bca2ac64220 100644
  #define RADIX_PUD_BAD_BITS		0x60000000000000e0UL
 -#define RADIX_PGD_BAD_BITS		0x60000000000000e0UL
 +#define RADIX_P4D_BAD_BITS		0x60000000000000e0UL
- 
+
  #define RADIX_PMD_SHIFT		(PAGE_SHIFT + RADIX_PTE_INDEX_SIZE)
  #define RADIX_PUD_SHIFT		(RADIX_PMD_SHIFT + RADIX_PMD_INDEX_SIZE)
 @@ -227,9 +227,9 @@ static inline int radix__pud_bad(pud_t pud)
  }
- 
- 
+
+
 -static inline int radix__pgd_bad(pgd_t pgd)
 +static inline int radix__p4d_bad(p4d_t p4d)
  {
 -	return !!(pgd_val(pgd) & RADIX_PGD_BAD_BITS);
 +	return !!(p4d_val(p4d) & RADIX_P4D_BAD_BITS);
  }
- 
+
  #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 diff --git a/arch/powerpc/include/asm/nohash/32/pgtable.h b/arch/powerpc/include/asm/nohash/32/pgtable.h
 index b04ba257fddb..3d0bc99dd520 100644
@@ -265,10 +265,10 @@ index b04ba257fddb..3d0bc99dd520 100644
 @@ -2,7 +2,6 @@
  #ifndef _ASM_POWERPC_NOHASH_32_PGTABLE_H
  #define _ASM_POWERPC_NOHASH_32_PGTABLE_H
- 
+
 -#define __ARCH_USE_5LEVEL_HACK
  #include <asm-generic/pgtable-nopmd.h>
- 
+
  #ifndef __ASSEMBLY__
 diff --git a/arch/powerpc/include/asm/nohash/64/pgalloc.h b/arch/powerpc/include/asm/nohash/64/pgalloc.h
 index b9534a793293..668aee6017e7 100644
@@ -277,10 +277,10 @@ index b9534a793293..668aee6017e7 100644
 @@ -15,7 +15,7 @@ struct vmemmap_backing {
  };
  extern struct vmemmap_backing *vmemmap_list;
- 
+
 -#define pgd_populate(MM, PGD, PUD)	pgd_set(PGD, (unsigned long)PUD)
 +#define p4d_populate(MM, P4D, PUD)	p4d_set(P4D, (unsigned long)PUD)
- 
+
  static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)
  {
 diff --git a/arch/powerpc/include/asm/nohash/64/pgtable-4k.h b/arch/powerpc/include/asm/nohash/64/pgtable-4k.h
@@ -290,10 +290,10 @@ index c40ec32b8194..81b1c54e3cf1 100644
 @@ -2,7 +2,7 @@
  #ifndef _ASM_POWERPC_NOHASH_64_PGTABLE_4K_H
  #define _ASM_POWERPC_NOHASH_64_PGTABLE_4K_H
- 
+
 -#include <asm-generic/5level-fixup.h>
 +#include <asm-generic/pgtable-nop4d.h>
- 
+
  /*
   * Entries per page directory level.  The PTE level must use a 64b record
 @@ -45,41 +45,41 @@
@@ -304,37 +304,37 @@ index c40ec32b8194..81b1c54e3cf1 100644
 -#define PGD_MASKED_BITS		0
 +/* Bits to mask out from a P4D to get to the PUD page */
 +#define P4D_MASKED_BITS		0
- 
- 
+
+
  /*
   * 4-level page tables related bits
   */
- 
+
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
- 
+
  #ifndef __ASSEMBLY__
- 
+
 -static inline void pgd_clear(pgd_t *pgdp)
 +static inline void p4d_clear(p4d_t *p4dp)
  {
 -	*pgdp = __pgd(0);
 +	*p4dp = __p4d(0);
  }
- 
+
 -static inline pte_t pgd_pte(pgd_t pgd)
 +static inline pte_t p4d_pte(p4d_t p4d)
  {
 -	return __pte(pgd_val(pgd));
 +	return __pte(p4d_val(p4d));
  }
- 
+
 -static inline pgd_t pte_pgd(pte_t pte)
 +static inline p4d_t pte_p4d(pte_t pte)
  {
@@ -343,15 +343,15 @@ index c40ec32b8194..81b1c54e3cf1 100644
  }
 -extern struct page *pgd_page(pgd_t pgd);
 +extern struct page *p4d_page(p4d_t p4d);
- 
+
  #endif /* !__ASSEMBLY__ */
- 
+
 -#define pud_offset(pgdp, addr)	\
 -  (((pud_t *) pgd_page_vaddr(*(pgdp))) + \
 +#define pud_offset(p4dp, addr)	\
 +  (((pud_t *) p4d_page_vaddr(*(p4dp))) + \
      (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1)))
- 
+
  #define pud_ERROR(e) \
 diff --git a/arch/powerpc/include/asm/nohash/64/pgtable.h b/arch/powerpc/include/asm/nohash/64/pgtable.h
 index 9a33b8bd842d..b360f262b9c6 100644
@@ -363,14 +363,14 @@ index 9a33b8bd842d..b360f262b9c6 100644
  #define pud_write(pud)		pte_write(pud_pte(pud))
 -#define pgd_write(pgd)		pte_write(pgd_pte(pgd))
 +#define p4d_write(pgd)		pte_write(p4d_pte(p4d))
- 
+
 -static inline void pgd_set(pgd_t *pgdp, unsigned long val)
 +static inline void p4d_set(p4d_t *p4dp, unsigned long val)
  {
 -	*pgdp = __pgd(val);
 +	*p4dp = __p4d(val);
  }
- 
+
  /*
 diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
 index b80bfd41828d..8bc1e5c3c7be 100644
@@ -383,18 +383,18 @@ index b80bfd41828d..8bc1e5c3c7be 100644
 -	return pmd_offset(pud_offset(pgd_offset(mm, va), va), va);
 +	return pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);
  }
- 
+
  static inline pmd_t *pmd_ptr_k(unsigned long va)
  {
 -	return pmd_offset(pud_offset(pgd_offset_k(va), va), va);
 +	return pmd_offset(pud_offset(p4d_offset(pgd_offset_k(va), va), va), va);
  }
- 
+
  static inline pte_t *virt_to_kpte(unsigned long vaddr)
 @@ -156,9 +156,9 @@ static inline bool pud_is_leaf(pud_t pud)
  }
  #endif
- 
+
 -#ifndef pgd_is_leaf
 -#define pgd_is_leaf pgd_is_leaf
 -static inline bool pgd_is_leaf(pgd_t pgd)
@@ -410,11 +410,11 @@ index 1d75ed684b53..ea8a96038bb4 100644
 +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c
 @@ -499,13 +499,14 @@ void kvmppc_free_pgtable_radix(struct kvm *kvm, pgd_t *pgd, unsigned int lpid)
  	unsigned long ig;
- 
+
  	for (ig = 0; ig < PTRS_PER_PGD; ++ig, ++pgd) {
 +		p4d_t *p4d = p4d_offset(pgd, 0);
  		pud_t *pud;
- 
+
 -		if (!pgd_present(*pgd))
 +		if (!p4d_present(*p4d))
  			continue;
@@ -425,7 +425,7 @@ index 1d75ed684b53..ea8a96038bb4 100644
 +		p4d_clear(p4d);
  	}
  }
- 
+
 @@ -566,6 +567,7 @@ int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte,
  		      unsigned long *rmapp, struct rmap_nested **n_rmap)
  {
@@ -435,7 +435,7 @@ index 1d75ed684b53..ea8a96038bb4 100644
  	pmd_t *pmd, *new_pmd = NULL;
  	pte_t *ptep, *new_ptep = NULL;
 @@ -573,9 +575,11 @@ int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte,
- 
+
  	/* Traverse the guest's 2nd-level tree, allocate new levels needed */
  	pgd = pgtable + pgd_index(gpa);
 +	p4d = p4d_offset(pgd, gpa);
@@ -447,9 +447,9 @@ index 1d75ed684b53..ea8a96038bb4 100644
 +		pud = pud_offset(p4d, gpa);
  	else
  		new_pud = pud_alloc_one(kvm->mm, gpa);
- 
+
 @@ -596,13 +600,13 @@ int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte,
- 
+
  	/* Now traverse again under the lock and change the tree */
  	ret = -ENOMEM;
 -	if (pgd_none(*pgd)) {
@@ -464,7 +464,7 @@ index 1d75ed684b53..ea8a96038bb4 100644
 +	pud = pud_offset(p4d, gpa);
  	if (pud_is_leaf(*pud)) {
  		unsigned long hgpa = gpa & PUD_MASK;
- 
+
 @@ -1219,7 +1223,8 @@ static ssize_t debugfs_radix_read(struct file *file, char __user *buf,
  	unsigned long gpa;
  	pgd_t *pgt;
@@ -477,7 +477,7 @@ index 1d75ed684b53..ea8a96038bb4 100644
  	pte_t *ptep;
 @@ -1292,13 +1297,14 @@ static ssize_t debugfs_radix_read(struct file *file, char __user *buf,
  		}
- 
+
  		pgdp = pgt + pgd_index(gpa);
 -		pgd = READ_ONCE(*pgdp);
 -		if (!(pgd_val(pgd) & _PAGE_PRESENT)) {
@@ -488,7 +488,7 @@ index 1d75ed684b53..ea8a96038bb4 100644
 +			gpa = (gpa & P4D_MASK) + P4D_SIZE;
  			continue;
  		}
- 
+
 -		pudp = pud_offset(&pgd, gpa);
 +		pudp = pud_offset(&p4d, gpa);
  		pud = READ_ONCE(*pudp);
@@ -504,11 +504,11 @@ index 3345f039a876..7a59f6863cec 100644
  	pud_t *pudp;
 +	p4d_t *p4dp;
  	pgd_t *pgdp;
- 
+
  	pgdp = pgd_offset_k(addr);
  	if (unlikely(!pgdp))
  		return -EINVAL;
- 
+
 -	pudp = pud_offset(pgdp, addr);
 +	p4dp = p4d_offset(pgdp, addr);
 +	if (unlikely(!p4dp))
@@ -517,7 +517,7 @@ index 3345f039a876..7a59f6863cec 100644
 +	pudp = pud_offset(p4dp, addr);
  	if (unlikely(!pudp))
  		return -EINVAL;
- 
+
 diff --git a/arch/powerpc/mm/book3s64/hash_pgtable.c b/arch/powerpc/mm/book3s64/hash_pgtable.c
 index 64733b9cb20a..9cd15937e88a 100644
 --- a/arch/powerpc/mm/book3s64/hash_pgtable.c
@@ -552,7 +552,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	pud_t *pudp;
  	pmd_t *pmdp;
  	pte_t *ptep;
- 
+
  	pgdp = pgd_offset_k(ea);
 -	if (pgd_none(*pgdp)) {
 +	p4dp = p4d_offset(pgdp, ea);
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -594,7 +594,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	pmd_t *pmdp;
  	pte_t *ptep;
 @@ -185,7 +190,8 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
- 
+
  	for (idx = start; idx < end; idx += PAGE_SIZE) {
  		pgdp = pgd_offset_k(idx);
 -		pudp = pud_alloc(&init_mm, pgdp, idx);
@@ -608,30 +608,30 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	pud_t *pud_base;
  	pgd_t *pgd;
 +	p4d_t *p4d;
- 
+
  	spin_lock(&init_mm.page_table_lock);
- 
+
 @@ -854,15 +861,16 @@ static void __meminit remove_pagetable(unsigned long start, unsigned long end)
  		next = pgd_addr_end(addr, end);
- 
+
  		pgd = pgd_offset_k(addr);
 -		if (!pgd_present(*pgd))
 +		p4d = p4d_offset(pgd, addr);
 +		if (!p4d_present(*p4d))
  			continue;
- 
+
 -		if (pgd_is_leaf(*pgd)) {
 -			split_kernel_mapping(addr, end, PGDIR_SIZE, (pte_t *)pgd);
 +		if (p4d_is_leaf(*p4d)) {
 +			split_kernel_mapping(addr, end, P4D_SIZE, (pte_t *)p4d);
  			continue;
  		}
- 
+
 -		pud_base = (pud_t *)pgd_page_vaddr(*pgd);
 +		pud_base = (pud_t *)p4d_page_vaddr(*p4d);
  		remove_pud_table(pud_base, addr, next);
  	}
- 
+
 diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c
 index 2ef24a53f4c9..25a0c044bd93 100644
 --- a/arch/powerpc/mm/book3s64/subpage_prot.c
@@ -645,7 +645,7 @@ index 2ef24a53f4c9..25a0c044bd93 100644
  	pmd_t *pmd;
  	pte_t *pte;
  	spinlock_t *ptl;
- 
+
  	pgd = pgd_offset(mm, addr);
 -	if (pgd_none(*pgd))
 +	p4d = p4d_offset(pgd, addr);
@@ -669,13 +669,13 @@ index 73d4873fc7f8..43d463f20fc3 100644
  	pmd_t *pm;
  	hugepd_t *hpdp = NULL;
 @@ -121,20 +122,21 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
- 
+
  	addr &= ~(sz-1);
  	pg = pgd_offset(mm, addr);
 +	p4 = p4d_offset(pg, addr);
- 
+
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
@@ -709,14 +709,14 @@ index 73d4873fc7f8..43d463f20fc3 100644
 @@ -384,7 +386,7 @@ static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
  	mm_dec_nr_pmds(tlb->mm);
  }
- 
+
 -static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
 +static void hugetlb_free_pud_range(struct mmu_gather *tlb, p4d_t *p4d,
  				   unsigned long addr, unsigned long end,
  				   unsigned long floor, unsigned long ceiling)
  {
 @@ -394,7 +396,7 @@ static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
- 
+
  	start = addr;
  	do {
 -		pud = pud_offset(pgd, addr);
@@ -727,7 +727,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 @@ -429,8 +431,8 @@ static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
  	if (end - 1 > ceiling - 1)
  		return;
- 
+
 -	pud = pud_offset(pgd, start);
 -	pgd_clear(pgd);
 +	pud = pud_offset(p4d, start);
@@ -741,7 +741,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
  	pgd_t *pgd;
 +	p4d_t *p4d;
  	unsigned long next;
- 
+
  	/*
 @@ -465,10 +468,11 @@ void hugetlb_free_pgd_range(struct mmu_gather *tlb,
  	do {
@@ -760,7 +760,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 @@ -481,7 +485,7 @@ void hugetlb_free_pgd_range(struct mmu_gather *tlb,
  			if (more > next)
  				next = more;
- 
+
 -			free_hugepd_range(tlb, (hugepd_t *)pgd, PGDIR_SHIFT,
 +			free_hugepd_range(tlb, (hugepd_t *)p4d, PGDIR_SHIFT,
  					  addr, next, floor, ceiling);
@@ -772,7 +772,7 @@ index b195d085970a..c823f294ecf0 100644
 +++ b/arch/powerpc/mm/kasan/kasan_init_32.c
 @@ -37,7 +37,6 @@ static int __init kasan_init_shadow_page_tables(unsigned long k_start, unsigned
  	pte_t *new = NULL;
- 
+
  	pmd = pmd_ptr_k(k_start);
 -
  	for (k_cur = k_start; k_cur != k_end; k_cur = k_next, pmd++) {
@@ -830,7 +830,7 @@ index e3759b69f81b..c2499271f6c1 100644
 +	p4d_t *p4d;
  	pud_t *pud;
  	pmd_t *pmd;
- 
+
 @@ -272,7 +273,9 @@ void assert_pte_locked(struct mm_struct *mm, unsigned long addr)
  		return;
  	pgd = mm->pgd + pgd_index(addr);
@@ -855,13 +855,13 @@ index e3759b69f81b..c2499271f6c1 100644
  	hugepd_t *hpdp = NULL;
 -	unsigned pdshift = PGDIR_SHIFT;
 +	unsigned pdshift;
- 
+
  	if (hpage_shift)
  		*hpage_shift = 0;
 @@ -325,24 +329,28 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
  	if (is_thp)
  		*is_thp = false;
- 
+
 -	pgdp = pgdir + pgd_index(ea);
 -	pgd  = READ_ONCE(*pgdp);
  	/*
@@ -879,21 +879,21 @@ index e3759b69f81b..c2499271f6c1 100644
 +
 +	if (p4d_none(p4d))
  		return NULL;
- 
+
 -	if (pgd_is_leaf(pgd)) {
 -		ret_pte = (pte_t *)pgdp;
 +	if (p4d_is_leaf(p4d)) {
 +		ret_pte = (pte_t *)p4dp;
  		goto out;
  	}
- 
+
 -	if (is_hugepd(__hugepd(pgd_val(pgd)))) {
 -		hpdp = (hugepd_t *)&pgd;
 +	if (is_hugepd(__hugepd(p4d_val(p4d)))) {
 +		hpdp = (hugepd_t *)&p4d;
  		goto out_huge;
  	}
- 
+
 @@ -352,7 +360,7 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
  	 * irq disabled
  	 */
@@ -901,14 +901,14 @@ index e3759b69f81b..c2499271f6c1 100644
 -	pudp = pud_offset(&pgd, ea);
 +	pudp = pud_offset(&p4d, ea);
  	pud  = READ_ONCE(*pudp);
- 
+
  	if (pud_none(pud))
 diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c
 index e78832dce7bb..1f86a88fd4bb 100644
 --- a/arch/powerpc/mm/pgtable_64.c
 +++ b/arch/powerpc/mm/pgtable_64.c
 @@ -101,13 +101,13 @@ EXPORT_SYMBOL(__pte_frag_size_shift);
- 
+
  #ifndef __PAGETABLE_PUD_FOLDED
  /* 4 level page table */
 -struct page *pgd_page(pgd_t pgd)
@@ -925,7 +925,7 @@ index e78832dce7bb..1f86a88fd4bb 100644
 +	return virt_to_page(p4d_page_vaddr(p4d));
  }
  #endif
- 
+
 diff --git a/arch/powerpc/mm/ptdump/hashpagetable.c b/arch/powerpc/mm/ptdump/hashpagetable.c
 index b6ed9578382f..6aaeb1eb3b9c 100644
 --- a/arch/powerpc/mm/ptdump/hashpagetable.c
@@ -933,7 +933,7 @@ index b6ed9578382f..6aaeb1eb3b9c 100644
 @@ -417,9 +417,9 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
  	}
  }
- 
+
 -static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
 +static void walk_pud(struct pg_state *st, p4d_t *p4d, unsigned long start)
  {
@@ -941,11 +941,11 @@ index b6ed9578382f..6aaeb1eb3b9c 100644
 +	pud_t *pud = pud_offset(p4d, 0);
  	unsigned long addr;
  	unsigned int i;
- 
+
 @@ -431,6 +431,20 @@ static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
  	}
  }
- 
+
 +static void walk_p4d(struct pg_state *st, pgd_t *pgd, unsigned long start)
 +{
 +	p4d_t *p4d = p4d_offset(pgd, 0);
@@ -971,7 +971,7 @@ index b6ed9578382f..6aaeb1eb3b9c 100644
 +			walk_p4d(st, pgd, addr);
  	}
  }
- 
+
 diff --git a/arch/powerpc/mm/ptdump/ptdump.c b/arch/powerpc/mm/ptdump/ptdump.c
 index d92bb8ea229c..507cb9793b26 100644
 --- a/arch/powerpc/mm/ptdump/ptdump.c
@@ -979,7 +979,7 @@ index d92bb8ea229c..507cb9793b26 100644
 @@ -277,9 +277,9 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
  	}
  }
- 
+
 -static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
 +static void walk_pud(struct pg_state *st, p4d_t *p4d, unsigned long start)
  {
@@ -987,7 +987,7 @@ index d92bb8ea229c..507cb9793b26 100644
 +	pud_t *pud = pud_offset(p4d, 0);
  	unsigned long addr;
  	unsigned int i;
- 
+
 @@ -304,11 +304,13 @@ static void walk_pagetables(struct pg_state *st)
  	 * the hash pagetable.
  	 */
@@ -1005,7 +1005,7 @@ index d92bb8ea229c..507cb9793b26 100644
 +			note_page(st, addr, 1, p4d_val(*p4d));
  	}
  }
- 
+
 diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
 index e8c84d265602..0e1cc7275566 100644
 --- a/arch/powerpc/xmon/xmon.c
@@ -1021,7 +1021,7 @@ index e8c84d265602..0e1cc7275566 100644
 @@ -3161,20 +3162,21 @@ static void show_pte(unsigned long addr)
  		pgdir = pgd_offset(mm, 0);
  	}
- 
+
 -	if (pgd_none(*pgdp)) {
 -		printf("no linux page table for address\n");
 +	p4dp = p4d_offset(pgdp, addr);
@@ -1030,7 +1030,7 @@ index e8c84d265602..0e1cc7275566 100644
 +		printf("No valid P4D\n");
  		return;
  	}
- 
+
 -	printf("pgd  @ 0x%px\n", pgdir);
 -
 -	if (pgd_is_leaf(*pgdp)) {
@@ -1040,12 +1040,12 @@ index e8c84d265602..0e1cc7275566 100644
  		return;
  	}
 -	printf("pgdp @ 0x%px = 0x%016lx\n", pgdp, pgd_val(*pgdp));
- 
+
 -	pudp = pud_offset(pgdp, addr);
 +	printf("p4dp @ 0x%px = 0x%016lx\n", p4dp, p4d_val(*p4dp));
 +
 +	pudp = pud_offset(p4dp, addr);
- 
+
  	if (pud_none(*pudp)) {
  		printf("No valid PUD\n");
 -- 
diff --git a/a/content_digest b/N3/content_digest
index 6483582..64351bb 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -3,42 +3,45 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
- "Cc\0Rich Felker <dalias@libc.org>"
-  linux-ia64@vger.kernel.org
-  Geert Uytterhoeven <geert+renesas@glider.be>
-  linux-sh@vger.kernel.org
+ "Cc\0Mike Rapoport <rppt@kernel.org>"
+  linux-kernel@vger.kernel.org
+  Arnd Bergmann <arnd@arndb.de>
   Benjamin Herrenschmidt <benh@kernel.crashing.org>
-  linux-mm@kvack.org
-  Paul Mackerras <paulus@samba.org>
-  linux-hexagon@vger.kernel.org
-  Will Deacon <will@kernel.org>
-  kvmarm@lists.cs.columbia.edu
-  Jonas Bonn <jonas@southpole.se>
-  linux-arch@vger.kernel.org
   Brian Cain <bcain@codeaurora.org>
-  Marc Zyngier <maz@kernel.org>
-  Russell King <linux@armlinux.org.uk>
-  Ley Foon Tan <ley.foon.tan@intel.com>
   Catalin Marinas <catalin.marinas@arm.com>
-  uclinux-h8-devel@lists.sourceforge.jp
+  Christophe Leroy <christophe.leroy@c-s.fr>
   Fenghua Yu <fenghua.yu@intel.com>
-  Arnd Bergmann <arnd@arndb.de>
-  kvm-ppc@vger.kernel.org
-  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
-  openrisc@lists.librecores.org
-  Stafford Horne <shorne@gmail.com>
+  Geert Uytterhoeven <geert+renesas@glider.be>
   Guan Xuetao <gxt@pku.edu.cn>
-  linux-arm-kernel@lists.infradead.org
-  Christophe Leroy <christophe.leroy@c-s.fr>
+  James Morse <james.morse@arm.com>
+  Jonas Bonn <jonas@southpole.se>
+  Julien Thierry <julien.thierry.kdev@gmail.com>
+  Ley Foon Tan <ley.foon.tan@intel.com>
+  Marc Zyngier <maz@kernel.org>
+  Michael Ellerman <mpe@ellerman.id.au>
+  Paul Mackerras <paulus@samba.org>
+  Rich Felker <dalias@libc.org>
+  Russell King <linux@armlinux.org.uk>
+  Stafford Horne <shorne@gmail.com>
+  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+  Suzuki K Poulose <suzuki.poulose@arm.com>
   Tony Luck <tony.luck@intel.com>
+  Will Deacon <will@kernel.org>
   Yoshinori Sato <ysato@users.sourceforge.jp>
-  linux-kernel@vger.kernel.org
-  Michael Ellerman <mpe@ellerman.id.au>
-  nios2-dev@lists.rocketboards.org
+  kvmarm@lists.cs.columbia.edu
+  kvm-ppc@vger.kernel.org
+  linux-arch@vger.kernel.org
+  linux-arm-kernel@lists.infradead.org
+  linux-hexagon@vger.kernel.org
+  linux-ia64@vger.kernel.org
+  linux-mm@kvack.org
   linuxppc-dev@lists.ozlabs.org
- " Mike Rapoport <rppt@kernel.org>\0"
+  linux-sh@vger.kernel.org
+  nios2-dev@lists.rocketboards.org
+  openrisc@lists.librecores.org
+ " uclinux-h8-devel@lists.sourceforge.jp\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 06, 2020 at 08:00:16PM -0800, Andrew Morton wrote:\n"
@@ -61,7 +64,7 @@
  "> powerpc-32-drop-get_pteptr.patch and\n"
  "> powerpc-add-support-for-folded-p4d-page-tables.patch (and\n"
  "> powerpc-add-support-for-folded-p4d-page-tables-fix.patch)?\n"
- " \n"
+ "\n"
  "This is the powerpc-add-support-for-folded-p4d-page-tables.patch on top of\n"
  "current powerpc/next. The powerpc-32-drop-get_pteptr.patch is already there\n"
  "and I've folded powerpc-add-support-for-folded-p4d-page-tables-fix.patch\n"
@@ -110,24 +113,24 @@
  "@@ -2,7 +2,6 @@\n"
  " #ifndef _ASM_POWERPC_BOOK3S_32_PGTABLE_H\n"
  " #define _ASM_POWERPC_BOOK3S_32_PGTABLE_H\n"
- " \n"
+ "\n"
  "-#define __ARCH_USE_5LEVEL_HACK\n"
  " #include <asm-generic/pgtable-nopmd.h>\n"
- " \n"
+ "\n"
  " #include <asm/book3s/32/hash.h>\n"
  "diff --git a/arch/powerpc/include/asm/book3s/64/hash.h b/arch/powerpc/include/asm/book3s/64/hash.h\n"
  "index 2781ebf6add4..876d1528c2cf 100644\n"
  "--- a/arch/powerpc/include/asm/book3s/64/hash.h\n"
  "+++ b/arch/powerpc/include/asm/book3s/64/hash.h\n"
  "@@ -134,9 +134,9 @@ static inline int get_region_id(unsigned long ea)\n"
- " \n"
+ "\n"
  " #define\thash__pmd_bad(pmd)\t\t(pmd_val(pmd) & H_PMD_BAD_BITS)\n"
  " #define\thash__pud_bad(pud)\t\t(pud_val(pud) & H_PUD_BAD_BITS)\n"
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -138,14 +141,14 @@
  "@@ -85,9 +85,9 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)\n"
  " \tkmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd);\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pud_t *pud)\n"
  "+static inline void p4d_populate(struct mm_struct *mm, p4d_t *pgd, pud_t *pud)\n"
  " {\n"
  "-\t*pgd =  __pgd(__pgtable_ptr_val(pud) | PGD_VAL_BITS);\n"
  "+\t*pgd =  __p4d(__pgtable_ptr_val(pud) | PGD_VAL_BITS);\n"
  " }\n"
- " \n"
+ "\n"
  " static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)\n"
  "diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h\n"
  "index 201a69e6a355..fa60e8594b9f 100644\n"
@@ -154,10 +157,10 @@
  "@@ -2,7 +2,7 @@\n"
  " #ifndef _ASM_POWERPC_BOOK3S_64_PGTABLE_H_\n"
  " #define _ASM_POWERPC_BOOK3S_64_PGTABLE_H_\n"
- " \n"
+ "\n"
  "-#include <asm-generic/5level-fixup.h>\n"
  "+#include <asm-generic/pgtable-nop4d.h>\n"
- " \n"
+ "\n"
  " #ifndef __ASSEMBLY__\n"
  " #include <linux/mmdebug.h>\n"
  "@@ -251,7 +251,7 @@ extern unsigned long __pmd_frag_size_shift;\n"
@@ -166,13 +169,13 @@
  " /* Bits to mask out from a PGD to get to the PUD page */\n"
  "-#define PGD_MASKED_BITS\t\t0xc0000000000000ffUL\n"
  "+#define P4D_MASKED_BITS\t\t0xc0000000000000ffUL\n"
- " \n"
+ "\n"
  " /*\n"
  "  * Used as an indicator for rcu callback functions\n"
  "@@ -949,54 +949,60 @@ static inline bool pud_access_permitted(pud_t pud, bool write)\n"
  " \treturn pte_access_permitted(pud_pte(pud), write);\n"
  " }\n"
- " \n"
+ "\n"
  "-#define pgd_write(pgd)\t\tpte_write(pgd_pte(pgd))\n"
  "+#define __p4d_raw(x)\t((p4d_t) { __pgd_raw(x) })\n"
  "+static inline __be64 p4d_raw(p4d_t x)\n"
@@ -181,42 +184,42 @@
  "+}\n"
  "+\n"
  "+#define p4d_write(p4d)\t\tpte_write(p4d_pte(p4d))\n"
- " \n"
+ "\n"
  "-static inline void pgd_clear(pgd_t *pgdp)\n"
  "+static inline void p4d_clear(p4d_t *p4dp)\n"
  " {\n"
  "-\t*pgdp = __pgd(0);\n"
  "+\t*p4dp = __p4d(0);\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline int pgd_none(pgd_t pgd)\n"
  "+static inline int p4d_none(p4d_t p4d)\n"
  " {\n"
  "-\treturn !pgd_raw(pgd);\n"
  "+\treturn !p4d_raw(p4d);\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline int pgd_present(pgd_t pgd)\n"
  "+static inline int p4d_present(p4d_t p4d)\n"
  " {\n"
  "-\treturn !!(pgd_raw(pgd) & cpu_to_be64(_PAGE_PRESENT));\n"
  "+\treturn !!(p4d_raw(p4d) & cpu_to_be64(_PAGE_PRESENT));\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline pte_t pgd_pte(pgd_t pgd)\n"
  "+static inline pte_t p4d_pte(p4d_t p4d)\n"
  " {\n"
  "-\treturn __pte_raw(pgd_raw(pgd));\n"
  "+\treturn __pte_raw(p4d_raw(p4d));\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline pgd_t pte_pgd(pte_t pte)\n"
  "+static inline p4d_t pte_p4d(pte_t pte)\n"
  " {\n"
  "-\treturn __pgd_raw(pte_raw(pte));\n"
  "+\treturn __p4d_raw(pte_raw(pte));\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline int pgd_bad(pgd_t pgd)\n"
  "+static inline int p4d_bad(p4d_t p4d)\n"
  " {\n"
@@ -226,7 +229,7 @@
  "+\t\treturn radix__p4d_bad(p4d);\n"
  "+\treturn hash__p4d_bad(p4d);\n"
  " }\n"
- " \n"
+ "\n"
  "-#define pgd_access_permitted pgd_access_permitted\n"
  "-static inline bool pgd_access_permitted(pgd_t pgd, bool write)\n"
  "+#define p4d_access_permitted p4d_access_permitted\n"
@@ -235,24 +238,24 @@
  "-\treturn pte_access_permitted(pgd_pte(pgd), write);\n"
  "+\treturn pte_access_permitted(p4d_pte(p4d), write);\n"
  " }\n"
- " \n"
+ "\n"
  "-extern struct page *pgd_page(pgd_t pgd);\n"
  "+extern struct page *p4d_page(p4d_t p4d);\n"
- " \n"
+ "\n"
  " /* Pointers in the page table tree are physical addresses */\n"
  " #define __pgtable_ptr_val(ptr)\t__pa(ptr)\n"
- " \n"
+ "\n"
  " #define pmd_page_vaddr(pmd)\t__va(pmd_val(pmd) & ~PMD_MASKED_BITS)\n"
  " #define pud_page_vaddr(pud)\t__va(pud_val(pud) & ~PUD_MASKED_BITS)\n"
  "-#define pgd_page_vaddr(pgd)\t__va(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_page_vaddr(p4d)\t__va(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
- " \n"
+ "\n"
  " #define pgd_index(address) (((address) >> (PGDIR_SHIFT)) & (PTRS_PER_PGD - 1))\n"
  " #define pud_index(address) (((address) >> (PUD_SHIFT)) & (PTRS_PER_PUD - 1))\n"
  "@@ -1010,8 +1016,8 @@ extern struct page *pgd_page(pgd_t pgd);\n"
- " \n"
+ "\n"
  " #define pgd_offset(mm, address)\t ((mm)->pgd + pgd_index(address))\n"
- " \n"
+ "\n"
  "-#define pud_offset(pgdp, addr)\t\\\n"
  "-\t(((pud_t *) pgd_page_vaddr(*(pgdp))) + pud_index(addr))\n"
  "+#define pud_offset(p4dp, addr)\t\\\n"
@@ -263,7 +266,7 @@
  "@@ -1368,11 +1374,11 @@ static inline bool pud_is_leaf(pud_t pud)\n"
  " \treturn !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE));\n"
  " }\n"
- " \n"
+ "\n"
  "-#define pgd_is_leaf pgd_is_leaf\n"
  "-#define pgd_leaf pgd_is_leaf\n"
  "-static inline bool pgd_is_leaf(pgd_t pgd)\n"
@@ -274,7 +277,7 @@
  "-\treturn !!(pgd_raw(pgd) & cpu_to_be64(_PAGE_PTE));\n"
  "+\treturn !!(p4d_raw(p4d) & cpu_to_be64(_PAGE_PTE));\n"
  " }\n"
- " \n"
+ "\n"
  " #endif /* __ASSEMBLY__ */\n"
  "diff --git a/arch/powerpc/include/asm/book3s/64/radix.h b/arch/powerpc/include/asm/book3s/64/radix.h\n"
  "index d97db3ad9aae..9bca2ac64220 100644\n"
@@ -286,20 +289,20 @@
  " #define RADIX_PUD_BAD_BITS\t\t0x60000000000000e0UL\n"
  "-#define RADIX_PGD_BAD_BITS\t\t0x60000000000000e0UL\n"
  "+#define RADIX_P4D_BAD_BITS\t\t0x60000000000000e0UL\n"
- " \n"
+ "\n"
  " #define RADIX_PMD_SHIFT\t\t(PAGE_SHIFT + RADIX_PTE_INDEX_SIZE)\n"
  " #define RADIX_PUD_SHIFT\t\t(RADIX_PMD_SHIFT + RADIX_PMD_INDEX_SIZE)\n"
  "@@ -227,9 +227,9 @@ static inline int radix__pud_bad(pud_t pud)\n"
  " }\n"
- " \n"
- " \n"
+ "\n"
+ "\n"
  "-static inline int radix__pgd_bad(pgd_t pgd)\n"
  "+static inline int radix__p4d_bad(p4d_t p4d)\n"
  " {\n"
  "-\treturn !!(pgd_val(pgd) & RADIX_PGD_BAD_BITS);\n"
  "+\treturn !!(p4d_val(p4d) & RADIX_P4D_BAD_BITS);\n"
  " }\n"
- " \n"
+ "\n"
  " #ifdef CONFIG_TRANSPARENT_HUGEPAGE\n"
  "diff --git a/arch/powerpc/include/asm/nohash/32/pgtable.h b/arch/powerpc/include/asm/nohash/32/pgtable.h\n"
  "index b04ba257fddb..3d0bc99dd520 100644\n"
@@ -308,10 +311,10 @@
  "@@ -2,7 +2,6 @@\n"
  " #ifndef _ASM_POWERPC_NOHASH_32_PGTABLE_H\n"
  " #define _ASM_POWERPC_NOHASH_32_PGTABLE_H\n"
- " \n"
+ "\n"
  "-#define __ARCH_USE_5LEVEL_HACK\n"
  " #include <asm-generic/pgtable-nopmd.h>\n"
- " \n"
+ "\n"
  " #ifndef __ASSEMBLY__\n"
  "diff --git a/arch/powerpc/include/asm/nohash/64/pgalloc.h b/arch/powerpc/include/asm/nohash/64/pgalloc.h\n"
  "index b9534a793293..668aee6017e7 100644\n"
@@ -320,10 +323,10 @@
  "@@ -15,7 +15,7 @@ struct vmemmap_backing {\n"
  " };\n"
  " extern struct vmemmap_backing *vmemmap_list;\n"
- " \n"
+ "\n"
  "-#define pgd_populate(MM, PGD, PUD)\tpgd_set(PGD, (unsigned long)PUD)\n"
  "+#define p4d_populate(MM, P4D, PUD)\tp4d_set(P4D, (unsigned long)PUD)\n"
- " \n"
+ "\n"
  " static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)\n"
  " {\n"
  "diff --git a/arch/powerpc/include/asm/nohash/64/pgtable-4k.h b/arch/powerpc/include/asm/nohash/64/pgtable-4k.h\n"
@@ -333,10 +336,10 @@
  "@@ -2,7 +2,7 @@\n"
  " #ifndef _ASM_POWERPC_NOHASH_64_PGTABLE_4K_H\n"
  " #define _ASM_POWERPC_NOHASH_64_PGTABLE_4K_H\n"
- " \n"
+ "\n"
  "-#include <asm-generic/5level-fixup.h>\n"
  "+#include <asm-generic/pgtable-nop4d.h>\n"
- " \n"
+ "\n"
  " /*\n"
  "  * Entries per page directory level.  The PTE level must use a 64b record\n"
  "@@ -45,41 +45,41 @@\n"
@@ -347,37 +350,37 @@
  "-#define PGD_MASKED_BITS\t\t0\n"
  "+/* Bits to mask out from a P4D to get to the PUD page */\n"
  "+#define P4D_MASKED_BITS\t\t0\n"
- " \n"
- " \n"
+ "\n"
+ "\n"
  " /*\n"
  "  * 4-level page tables related bits\n"
  "  */\n"
- " \n"
+ "\n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
- " \n"
+ "\n"
  " #ifndef __ASSEMBLY__\n"
- " \n"
+ "\n"
  "-static inline void pgd_clear(pgd_t *pgdp)\n"
  "+static inline void p4d_clear(p4d_t *p4dp)\n"
  " {\n"
  "-\t*pgdp = __pgd(0);\n"
  "+\t*p4dp = __p4d(0);\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline pte_t pgd_pte(pgd_t pgd)\n"
  "+static inline pte_t p4d_pte(p4d_t p4d)\n"
  " {\n"
  "-\treturn __pte(pgd_val(pgd));\n"
  "+\treturn __pte(p4d_val(p4d));\n"
  " }\n"
- " \n"
+ "\n"
  "-static inline pgd_t pte_pgd(pte_t pte)\n"
  "+static inline p4d_t pte_p4d(pte_t pte)\n"
  " {\n"
@@ -386,15 +389,15 @@
  " }\n"
  "-extern struct page *pgd_page(pgd_t pgd);\n"
  "+extern struct page *p4d_page(p4d_t p4d);\n"
- " \n"
+ "\n"
  " #endif /* !__ASSEMBLY__ */\n"
- " \n"
+ "\n"
  "-#define pud_offset(pgdp, addr)\t\\\n"
  "-  (((pud_t *) pgd_page_vaddr(*(pgdp))) + \\\n"
  "+#define pud_offset(p4dp, addr)\t\\\n"
  "+  (((pud_t *) p4d_page_vaddr(*(p4dp))) + \\\n"
  "     (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1)))\n"
- " \n"
+ "\n"
  " #define pud_ERROR(e) \\\n"
  "diff --git a/arch/powerpc/include/asm/nohash/64/pgtable.h b/arch/powerpc/include/asm/nohash/64/pgtable.h\n"
  "index 9a33b8bd842d..b360f262b9c6 100644\n"
@@ -406,14 +409,14 @@
  " #define pud_write(pud)\t\tpte_write(pud_pte(pud))\n"
  "-#define pgd_write(pgd)\t\tpte_write(pgd_pte(pgd))\n"
  "+#define p4d_write(pgd)\t\tpte_write(p4d_pte(p4d))\n"
- " \n"
+ "\n"
  "-static inline void pgd_set(pgd_t *pgdp, unsigned long val)\n"
  "+static inline void p4d_set(p4d_t *p4dp, unsigned long val)\n"
  " {\n"
  "-\t*pgdp = __pgd(val);\n"
  "+\t*p4dp = __p4d(val);\n"
  " }\n"
- " \n"
+ "\n"
  " /*\n"
  "diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h\n"
  "index b80bfd41828d..8bc1e5c3c7be 100644\n"
@@ -426,18 +429,18 @@
  "-\treturn pmd_offset(pud_offset(pgd_offset(mm, va), va), va);\n"
  "+\treturn pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);\n"
  " }\n"
- " \n"
+ "\n"
  " static inline pmd_t *pmd_ptr_k(unsigned long va)\n"
  " {\n"
  "-\treturn pmd_offset(pud_offset(pgd_offset_k(va), va), va);\n"
  "+\treturn pmd_offset(pud_offset(p4d_offset(pgd_offset_k(va), va), va), va);\n"
  " }\n"
- " \n"
+ "\n"
  " static inline pte_t *virt_to_kpte(unsigned long vaddr)\n"
  "@@ -156,9 +156,9 @@ static inline bool pud_is_leaf(pud_t pud)\n"
  " }\n"
  " #endif\n"
- " \n"
+ "\n"
  "-#ifndef pgd_is_leaf\n"
  "-#define pgd_is_leaf pgd_is_leaf\n"
  "-static inline bool pgd_is_leaf(pgd_t pgd)\n"
@@ -453,11 +456,11 @@
  "+++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c\n"
  "@@ -499,13 +499,14 @@ void kvmppc_free_pgtable_radix(struct kvm *kvm, pgd_t *pgd, unsigned int lpid)\n"
  " \tunsigned long ig;\n"
- " \n"
+ "\n"
  " \tfor (ig = 0; ig < PTRS_PER_PGD; ++ig, ++pgd) {\n"
  "+\t\tp4d_t *p4d = p4d_offset(pgd, 0);\n"
  " \t\tpud_t *pud;\n"
- " \n"
+ "\n"
  "-\t\tif (!pgd_present(*pgd))\n"
  "+\t\tif (!p4d_present(*p4d))\n"
  " \t\t\tcontinue;\n"
@@ -468,7 +471,7 @@
  "+\t\tp4d_clear(p4d);\n"
  " \t}\n"
  " }\n"
- " \n"
+ "\n"
  "@@ -566,6 +567,7 @@ int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte,\n"
  " \t\t      unsigned long *rmapp, struct rmap_nested **n_rmap)\n"
  " {\n"
@@ -478,7 +481,7 @@
  " \tpmd_t *pmd, *new_pmd = NULL;\n"
  " \tpte_t *ptep, *new_ptep = NULL;\n"
  "@@ -573,9 +575,11 @@ int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte,\n"
- " \n"
+ "\n"
  " \t/* Traverse the guest's 2nd-level tree, allocate new levels needed */\n"
  " \tpgd = pgtable + pgd_index(gpa);\n"
  "+\tp4d = p4d_offset(pgd, gpa);\n"
@@ -490,9 +493,9 @@
  "+\t\tpud = pud_offset(p4d, gpa);\n"
  " \telse\n"
  " \t\tnew_pud = pud_alloc_one(kvm->mm, gpa);\n"
- " \n"
+ "\n"
  "@@ -596,13 +600,13 @@ int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte,\n"
- " \n"
+ "\n"
  " \t/* Now traverse again under the lock and change the tree */\n"
  " \tret = -ENOMEM;\n"
  "-\tif (pgd_none(*pgd)) {\n"
@@ -507,7 +510,7 @@
  "+\tpud = pud_offset(p4d, gpa);\n"
  " \tif (pud_is_leaf(*pud)) {\n"
  " \t\tunsigned long hgpa = gpa & PUD_MASK;\n"
- " \n"
+ "\n"
  "@@ -1219,7 +1223,8 @@ static ssize_t debugfs_radix_read(struct file *file, char __user *buf,\n"
  " \tunsigned long gpa;\n"
  " \tpgd_t *pgt;\n"
@@ -520,7 +523,7 @@
  " \tpte_t *ptep;\n"
  "@@ -1292,13 +1297,14 @@ static ssize_t debugfs_radix_read(struct file *file, char __user *buf,\n"
  " \t\t}\n"
- " \n"
+ "\n"
  " \t\tpgdp = pgt + pgd_index(gpa);\n"
  "-\t\tpgd = READ_ONCE(*pgdp);\n"
  "-\t\tif (!(pgd_val(pgd) & _PAGE_PRESENT)) {\n"
@@ -531,7 +534,7 @@
  "+\t\t\tgpa = (gpa & P4D_MASK) + P4D_SIZE;\n"
  " \t\t\tcontinue;\n"
  " \t\t}\n"
- " \n"
+ "\n"
  "-\t\tpudp = pud_offset(&pgd, gpa);\n"
  "+\t\tpudp = pud_offset(&p4d, gpa);\n"
  " \t\tpud = READ_ONCE(*pudp);\n"
@@ -547,11 +550,11 @@
  " \tpud_t *pudp;\n"
  "+\tp4d_t *p4dp;\n"
  " \tpgd_t *pgdp;\n"
- " \n"
+ "\n"
  " \tpgdp = pgd_offset_k(addr);\n"
  " \tif (unlikely(!pgdp))\n"
  " \t\treturn -EINVAL;\n"
- " \n"
+ "\n"
  "-\tpudp = pud_offset(pgdp, addr);\n"
  "+\tp4dp = p4d_offset(pgdp, addr);\n"
  "+\tif (unlikely(!p4dp))\n"
@@ -560,7 +563,7 @@
  "+\tpudp = pud_offset(p4dp, addr);\n"
  " \tif (unlikely(!pudp))\n"
  " \t\treturn -EINVAL;\n"
- " \n"
+ "\n"
  "diff --git a/arch/powerpc/mm/book3s64/hash_pgtable.c b/arch/powerpc/mm/book3s64/hash_pgtable.c\n"
  "index 64733b9cb20a..9cd15937e88a 100644\n"
  "--- a/arch/powerpc/mm/book3s64/hash_pgtable.c\n"
@@ -595,7 +598,7 @@
  " \tpud_t *pudp;\n"
  " \tpmd_t *pmdp;\n"
  " \tpte_t *ptep;\n"
- " \n"
+ "\n"
  " \tpgdp = pgd_offset_k(ea);\n"
  "-\tif (pgd_none(*pgdp)) {\n"
  "+\tp4dp = p4d_offset(pgdp, ea);\n"
@@ -607,7 +610,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +630,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -637,7 +640,7 @@
  " \tpmd_t *pmdp;\n"
  " \tpte_t *ptep;\n"
  "@@ -185,7 +190,8 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
- " \n"
+ "\n"
  " \tfor (idx = start; idx < end; idx += PAGE_SIZE) {\n"
  " \t\tpgdp = pgd_offset_k(idx);\n"
  "-\t\tpudp = pud_alloc(&init_mm, pgdp, idx);\n"
@@ -651,30 +654,30 @@
  " \tpud_t *pud_base;\n"
  " \tpgd_t *pgd;\n"
  "+\tp4d_t *p4d;\n"
- " \n"
+ "\n"
  " \tspin_lock(&init_mm.page_table_lock);\n"
- " \n"
+ "\n"
  "@@ -854,15 +861,16 @@ static void __meminit remove_pagetable(unsigned long start, unsigned long end)\n"
  " \t\tnext = pgd_addr_end(addr, end);\n"
- " \n"
+ "\n"
  " \t\tpgd = pgd_offset_k(addr);\n"
  "-\t\tif (!pgd_present(*pgd))\n"
  "+\t\tp4d = p4d_offset(pgd, addr);\n"
  "+\t\tif (!p4d_present(*p4d))\n"
  " \t\t\tcontinue;\n"
- " \n"
+ "\n"
  "-\t\tif (pgd_is_leaf(*pgd)) {\n"
  "-\t\t\tsplit_kernel_mapping(addr, end, PGDIR_SIZE, (pte_t *)pgd);\n"
  "+\t\tif (p4d_is_leaf(*p4d)) {\n"
  "+\t\t\tsplit_kernel_mapping(addr, end, P4D_SIZE, (pte_t *)p4d);\n"
  " \t\t\tcontinue;\n"
  " \t\t}\n"
- " \n"
+ "\n"
  "-\t\tpud_base = (pud_t *)pgd_page_vaddr(*pgd);\n"
  "+\t\tpud_base = (pud_t *)p4d_page_vaddr(*p4d);\n"
  " \t\tremove_pud_table(pud_base, addr, next);\n"
  " \t}\n"
- " \n"
+ "\n"
  "diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c\n"
  "index 2ef24a53f4c9..25a0c044bd93 100644\n"
  "--- a/arch/powerpc/mm/book3s64/subpage_prot.c\n"
@@ -688,7 +691,7 @@
  " \tpmd_t *pmd;\n"
  " \tpte_t *pte;\n"
  " \tspinlock_t *ptl;\n"
- " \n"
+ "\n"
  " \tpgd = pgd_offset(mm, addr);\n"
  "-\tif (pgd_none(*pgd))\n"
  "+\tp4d = p4d_offset(pgd, addr);\n"
@@ -712,13 +715,13 @@
  " \tpmd_t *pm;\n"
  " \thugepd_t *hpdp = NULL;\n"
  "@@ -121,20 +122,21 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
- " \n"
+ "\n"
  " \taddr &= ~(sz-1);\n"
  " \tpg = pgd_offset(mm, addr);\n"
  "+\tp4 = p4d_offset(pg, addr);\n"
- " \n"
+ "\n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +738,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -752,14 +755,14 @@
  "@@ -384,7 +386,7 @@ static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,\n"
  " \tmm_dec_nr_pmds(tlb->mm);\n"
  " }\n"
- " \n"
+ "\n"
  "-static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,\n"
  "+static void hugetlb_free_pud_range(struct mmu_gather *tlb, p4d_t *p4d,\n"
  " \t\t\t\t   unsigned long addr, unsigned long end,\n"
  " \t\t\t\t   unsigned long floor, unsigned long ceiling)\n"
  " {\n"
  "@@ -394,7 +396,7 @@ static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,\n"
- " \n"
+ "\n"
  " \tstart = addr;\n"
  " \tdo {\n"
  "-\t\tpud = pud_offset(pgd, addr);\n"
@@ -770,7 +773,7 @@
  "@@ -429,8 +431,8 @@ static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,\n"
  " \tif (end - 1 > ceiling - 1)\n"
  " \t\treturn;\n"
- " \n"
+ "\n"
  "-\tpud = pud_offset(pgd, start);\n"
  "-\tpgd_clear(pgd);\n"
  "+\tpud = pud_offset(p4d, start);\n"
@@ -784,7 +787,7 @@
  " \tpgd_t *pgd;\n"
  "+\tp4d_t *p4d;\n"
  " \tunsigned long next;\n"
- " \n"
+ "\n"
  " \t/*\n"
  "@@ -465,10 +468,11 @@ void hugetlb_free_pgd_range(struct mmu_gather *tlb,\n"
  " \tdo {\n"
@@ -803,7 +806,7 @@
  "@@ -481,7 +485,7 @@ void hugetlb_free_pgd_range(struct mmu_gather *tlb,\n"
  " \t\t\tif (more > next)\n"
  " \t\t\t\tnext = more;\n"
- " \n"
+ "\n"
  "-\t\t\tfree_hugepd_range(tlb, (hugepd_t *)pgd, PGDIR_SHIFT,\n"
  "+\t\t\tfree_hugepd_range(tlb, (hugepd_t *)p4d, PGDIR_SHIFT,\n"
  " \t\t\t\t\t  addr, next, floor, ceiling);\n"
@@ -815,7 +818,7 @@
  "+++ b/arch/powerpc/mm/kasan/kasan_init_32.c\n"
  "@@ -37,7 +37,6 @@ static int __init kasan_init_shadow_page_tables(unsigned long k_start, unsigned\n"
  " \tpte_t *new = NULL;\n"
- " \n"
+ "\n"
  " \tpmd = pmd_ptr_k(k_start);\n"
  "-\n"
  " \tfor (k_cur = k_start; k_cur != k_end; k_cur = k_next, pmd++) {\n"
@@ -873,7 +876,7 @@
  "+\tp4d_t *p4d;\n"
  " \tpud_t *pud;\n"
  " \tpmd_t *pmd;\n"
- " \n"
+ "\n"
  "@@ -272,7 +273,9 @@ void assert_pte_locked(struct mm_struct *mm, unsigned long addr)\n"
  " \t\treturn;\n"
  " \tpgd = mm->pgd + pgd_index(addr);\n"
@@ -898,13 +901,13 @@
  " \thugepd_t *hpdp = NULL;\n"
  "-\tunsigned pdshift = PGDIR_SHIFT;\n"
  "+\tunsigned pdshift;\n"
- " \n"
+ "\n"
  " \tif (hpage_shift)\n"
  " \t\t*hpage_shift = 0;\n"
  "@@ -325,24 +329,28 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,\n"
  " \tif (is_thp)\n"
  " \t\t*is_thp = false;\n"
- " \n"
+ "\n"
  "-\tpgdp = pgdir + pgd_index(ea);\n"
  "-\tpgd  = READ_ONCE(*pgdp);\n"
  " \t/*\n"
@@ -922,21 +925,21 @@
  "+\n"
  "+\tif (p4d_none(p4d))\n"
  " \t\treturn NULL;\n"
- " \n"
+ "\n"
  "-\tif (pgd_is_leaf(pgd)) {\n"
  "-\t\tret_pte = (pte_t *)pgdp;\n"
  "+\tif (p4d_is_leaf(p4d)) {\n"
  "+\t\tret_pte = (pte_t *)p4dp;\n"
  " \t\tgoto out;\n"
  " \t}\n"
- " \n"
+ "\n"
  "-\tif (is_hugepd(__hugepd(pgd_val(pgd)))) {\n"
  "-\t\thpdp = (hugepd_t *)&pgd;\n"
  "+\tif (is_hugepd(__hugepd(p4d_val(p4d)))) {\n"
  "+\t\thpdp = (hugepd_t *)&p4d;\n"
  " \t\tgoto out_huge;\n"
  " \t}\n"
- " \n"
+ "\n"
  "@@ -352,7 +360,7 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,\n"
  " \t * irq disabled\n"
  " \t */\n"
@@ -944,14 +947,14 @@
  "-\tpudp = pud_offset(&pgd, ea);\n"
  "+\tpudp = pud_offset(&p4d, ea);\n"
  " \tpud  = READ_ONCE(*pudp);\n"
- " \n"
+ "\n"
  " \tif (pud_none(pud))\n"
  "diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c\n"
  "index e78832dce7bb..1f86a88fd4bb 100644\n"
  "--- a/arch/powerpc/mm/pgtable_64.c\n"
  "+++ b/arch/powerpc/mm/pgtable_64.c\n"
  "@@ -101,13 +101,13 @@ EXPORT_SYMBOL(__pte_frag_size_shift);\n"
- " \n"
+ "\n"
  " #ifndef __PAGETABLE_PUD_FOLDED\n"
  " /* 4 level page table */\n"
  "-struct page *pgd_page(pgd_t pgd)\n"
@@ -968,7 +971,7 @@
  "+\treturn virt_to_page(p4d_page_vaddr(p4d));\n"
  " }\n"
  " #endif\n"
- " \n"
+ "\n"
  "diff --git a/arch/powerpc/mm/ptdump/hashpagetable.c b/arch/powerpc/mm/ptdump/hashpagetable.c\n"
  "index b6ed9578382f..6aaeb1eb3b9c 100644\n"
  "--- a/arch/powerpc/mm/ptdump/hashpagetable.c\n"
@@ -976,7 +979,7 @@
  "@@ -417,9 +417,9 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)\n"
  " \t}\n"
  " }\n"
- " \n"
+ "\n"
  "-static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)\n"
  "+static void walk_pud(struct pg_state *st, p4d_t *p4d, unsigned long start)\n"
  " {\n"
@@ -984,11 +987,11 @@
  "+\tpud_t *pud = pud_offset(p4d, 0);\n"
  " \tunsigned long addr;\n"
  " \tunsigned int i;\n"
- " \n"
+ "\n"
  "@@ -431,6 +431,20 @@ static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)\n"
  " \t}\n"
  " }\n"
- " \n"
+ "\n"
  "+static void walk_p4d(struct pg_state *st, pgd_t *pgd, unsigned long start)\n"
  "+{\n"
  "+\tp4d_t *p4d = p4d_offset(pgd, 0);\n"
@@ -1014,7 +1017,7 @@
  "+\t\t\twalk_p4d(st, pgd, addr);\n"
  " \t}\n"
  " }\n"
- " \n"
+ "\n"
  "diff --git a/arch/powerpc/mm/ptdump/ptdump.c b/arch/powerpc/mm/ptdump/ptdump.c\n"
  "index d92bb8ea229c..507cb9793b26 100644\n"
  "--- a/arch/powerpc/mm/ptdump/ptdump.c\n"
@@ -1022,7 +1025,7 @@
  "@@ -277,9 +277,9 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)\n"
  " \t}\n"
  " }\n"
- " \n"
+ "\n"
  "-static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)\n"
  "+static void walk_pud(struct pg_state *st, p4d_t *p4d, unsigned long start)\n"
  " {\n"
@@ -1030,7 +1033,7 @@
  "+\tpud_t *pud = pud_offset(p4d, 0);\n"
  " \tunsigned long addr;\n"
  " \tunsigned int i;\n"
- " \n"
+ "\n"
  "@@ -304,11 +304,13 @@ static void walk_pagetables(struct pg_state *st)\n"
  " \t * the hash pagetable.\n"
  " \t */\n"
@@ -1048,7 +1051,7 @@
  "+\t\t\tnote_page(st, addr, 1, p4d_val(*p4d));\n"
  " \t}\n"
  " }\n"
- " \n"
+ "\n"
  "diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c\n"
  "index e8c84d265602..0e1cc7275566 100644\n"
  "--- a/arch/powerpc/xmon/xmon.c\n"
@@ -1064,7 +1067,7 @@
  "@@ -3161,20 +3162,21 @@ static void show_pte(unsigned long addr)\n"
  " \t\tpgdir = pgd_offset(mm, 0);\n"
  " \t}\n"
- " \n"
+ "\n"
  "-\tif (pgd_none(*pgdp)) {\n"
  "-\t\tprintf(\"no linux page table for address\\n\");\n"
  "+\tp4dp = p4d_offset(pgdp, addr);\n"
@@ -1073,7 +1076,7 @@
  "+\t\tprintf(\"No valid P4D\\n\");\n"
  " \t\treturn;\n"
  " \t}\n"
- " \n"
+ "\n"
  "-\tprintf(\"pgd  @ 0x%px\\n\", pgdir);\n"
  "-\n"
  "-\tif (pgd_is_leaf(*pgdp)) {\n"
@@ -1083,15 +1086,15 @@
  " \t\treturn;\n"
  " \t}\n"
  "-\tprintf(\"pgdp @ 0x%px = 0x%016lx\\n\", pgdp, pgd_val(*pgdp));\n"
- " \n"
+ "\n"
  "-\tpudp = pud_offset(pgdp, addr);\n"
  "+\tprintf(\"p4dp @ 0x%px = 0x%016lx\\n\", p4dp, p4d_val(*p4dp));\n"
  "+\n"
  "+\tpudp = pud_offset(p4dp, addr);\n"
- " \n"
+ "\n"
  " \tif (pud_none(*pudp)) {\n"
  " \t\tprintf(\"No valid PUD\\n\");\n"
  "-- \n"
  2.25.1
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+18ba266dc18c65a63ed5a943acff7a7e0c8c2f6ee6a5b0081c85e4cfa14372cb

diff --git a/a/1.txt b/N4/1.txt
index 786f7aa..5249058 100644
--- a/a/1.txt
+++ b/N4/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
diff --git a/a/content_digest b/N4/content_digest
index 6483582..463b865 100644
--- a/a/content_digest
+++ b/N4/content_digest
@@ -3,42 +3,29 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
- "Cc\0Rich Felker <dalias@libc.org>"
-  linux-ia64@vger.kernel.org
-  Geert Uytterhoeven <geert+renesas@glider.be>
-  linux-sh@vger.kernel.org
+ "Cc\0Mike Rapoport <rppt@kernel.org>"
+  linux-kernel@vger.kernel.org
+  Arnd Bergmann <arnd@arndb.de>
   Benjamin Herrenschmidt <benh@kernel.crashing.org>
-  linux-mm@kvack.org
-  Paul Mackerras <paulus@samba.org>
-  linux-hexagon@vger.kernel.org
-  Will Deacon <will@kernel.org>
-  kvmarm@lists.cs.columbia.edu
-  Jonas Bonn <jonas@southpole.se>
-  linux-arch@vger.kernel.org
   Brian Cain <bcain@codeaurora.org>
-  Marc Zyngier <maz@kernel.org>
-  Russell King <linux@armlinux.org.uk>
-  Ley Foon Tan <ley.foon.tan@intel.com>
   Catalin Marinas <catalin.marinas@arm.com>
-  uclinux-h8-devel@lists.sourceforge.jp
+  Christophe Leroy <christophe.leroy@c-s.fr>
   Fenghua Yu <fenghua.yu@intel.com>
-  Arnd Bergmann <arnd@arndb.de>
-  kvm-ppc@vger.kernel.org
-  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
-  openrisc@lists.librecores.org
-  Stafford Horne <shorne@gmail.com>
+  Geert Uytterhoeven <geert+renesas@glider.be>
   Guan Xuetao <gxt@pku.edu.cn>
-  linux-arm-kernel@lists.infradead.org
-  Christophe Leroy <christophe.leroy@c-s.fr>
-  Tony Luck <tony.luck@intel.com>
-  Yoshinori Sato <ysato@users.sourceforge.jp>
-  linux-kernel@vger.kernel.org
+  James Morse <james.morse@arm.com>
+  Jonas Bonn <jonas@southpole.se>
+  Julien Thierry <julien.thierry.kdev@gmail.com>
+  Ley Foon Tan <ley.foon.tan@intel.com>
+  Marc Zyngier <maz@kernel.org>
   Michael Ellerman <mpe@ellerman.id.au>
-  nios2-dev@lists.rocketboards.org
-  linuxppc-dev@lists.ozlabs.org
- " Mike Rapoport <rppt@kernel.org>\0"
+  Paul Mackerras <paulus@samba.org>
+  Rich Felker <dalias@libc.org>
+  Russell King <linux@armlinux.org.uk>
+  Stafford Horne <shorne@gmail.com>
+ " St\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 06, 2020 at 08:00:16PM -0800, Andrew Morton wrote:\n"
@@ -126,8 +113,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +341,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +594,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +614,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +705,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +722,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1094,4 +1081,4 @@
  "-- \n"
  2.25.1
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+9ee84c1bf68472bf79299082e9f04b5d6cd3d507da8ebd73baa75ea0b70f0949

diff --git a/a/1.txt b/N5/1.txt
index 786f7aa..5249058 100644
--- a/a/1.txt
+++ b/N5/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
diff --git a/a/content_digest b/N5/content_digest
index 6483582..5f0b8c9 100644
--- a/a/content_digest
+++ b/N5/content_digest
@@ -2,43 +2,9 @@
  "ref\020200227084608.18223-8-rppt@kernel.org\0"
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
- "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
- "To\0Andrew Morton <akpm@linux-foundation.org>\0"
- "Cc\0Rich Felker <dalias@libc.org>"
-  linux-ia64@vger.kernel.org
-  Geert Uytterhoeven <geert+renesas@glider.be>
-  linux-sh@vger.kernel.org
-  Benjamin Herrenschmidt <benh@kernel.crashing.org>
-  linux-mm@kvack.org
-  Paul Mackerras <paulus@samba.org>
-  linux-hexagon@vger.kernel.org
-  Will Deacon <will@kernel.org>
-  kvmarm@lists.cs.columbia.edu
-  Jonas Bonn <jonas@southpole.se>
-  linux-arch@vger.kernel.org
-  Brian Cain <bcain@codeaurora.org>
-  Marc Zyngier <maz@kernel.org>
-  Russell King <linux@armlinux.org.uk>
-  Ley Foon Tan <ley.foon.tan@intel.com>
-  Catalin Marinas <catalin.marinas@arm.com>
-  uclinux-h8-devel@lists.sourceforge.jp
-  Fenghua Yu <fenghua.yu@intel.com>
-  Arnd Bergmann <arnd@arndb.de>
-  kvm-ppc@vger.kernel.org
-  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
-  openrisc@lists.librecores.org
-  Stafford Horne <shorne@gmail.com>
-  Guan Xuetao <gxt@pku.edu.cn>
-  linux-arm-kernel@lists.infradead.org
-  Christophe Leroy <christophe.leroy@c-s.fr>
-  Tony Luck <tony.luck@intel.com>
-  Yoshinori Sato <ysato@users.sourceforge.jp>
-  linux-kernel@vger.kernel.org
-  Michael Ellerman <mpe@ellerman.id.au>
-  nios2-dev@lists.rocketboards.org
-  linuxppc-dev@lists.ozlabs.org
- " Mike Rapoport <rppt@kernel.org>\0"
+ "Subject\0[OpenRISC] [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
+ "To\0openrisc@lists.librecores.org\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 06, 2020 at 08:00:16PM -0800, Andrew Morton wrote:\n"
@@ -126,8 +92,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +320,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +573,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +593,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +684,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +701,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1094,4 +1060,4 @@
  "-- \n"
  2.25.1
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+4c2ba12313792e09144349b2c71e63082aaf61763bbe5573b430a1888598cbe0

diff --git a/a/1.txt b/N6/1.txt
index 786f7aa..5249058 100644
--- a/a/1.txt
+++ b/N6/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
diff --git a/a/content_digest b/N6/content_digest
index 6483582..5f806e9 100644
--- a/a/content_digest
+++ b/N6/content_digest
@@ -3,13 +3,12 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
  "Cc\0Rich Felker <dalias@libc.org>"
   linux-ia64@vger.kernel.org
   Geert Uytterhoeven <geert+renesas@glider.be>
   linux-sh@vger.kernel.org
-  Benjamin Herrenschmidt <benh@kernel.crashing.org>
   linux-mm@kvack.org
   Paul Mackerras <paulus@samba.org>
   linux-hexagon@vger.kernel.org
@@ -22,20 +21,21 @@
   Russell King <linux@armlinux.org.uk>
   Ley Foon Tan <ley.foon.tan@intel.com>
   Catalin Marinas <catalin.marinas@arm.com>
+  Julien Thierry <julien.thierry.kdev@gmail.com>
   uclinux-h8-devel@lists.sourceforge.jp
   Fenghua Yu <fenghua.yu@intel.com>
   Arnd Bergmann <arnd@arndb.de>
+  Suzuki K Poulose <suzuki.poulose@arm.com>
   kvm-ppc@vger.kernel.org
   Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
   openrisc@lists.librecores.org
   Stafford Horne <shorne@gmail.com>
   Guan Xuetao <gxt@pku.edu.cn>
   linux-arm-kernel@lists.infradead.org
-  Christophe Leroy <christophe.leroy@c-s.fr>
   Tony Luck <tony.luck@intel.com>
   Yoshinori Sato <ysato@users.sourceforge.jp>
   linux-kernel@vger.kernel.org
-  Michael Ellerman <mpe@ellerman.id.au>
+  James Morse <james.morse@arm.com>
   nios2-dev@lists.rocketboards.org
   linuxppc-dev@lists.ozlabs.org
  " Mike Rapoport <rppt@kernel.org>\0"
@@ -126,8 +126,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +354,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +607,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +627,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +718,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +735,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1094,4 +1094,4 @@
  "-- \n"
  2.25.1
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+7edb36b7718197c8fe0e8db291fbc0044b6de00144cf020fc829e451d2502ed2

diff --git a/a/1.txt b/N7/1.txt
index 786f7aa..ca104c9 100644
--- a/a/1.txt
+++ b/N7/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
@@ -1050,3 +1050,9 @@ index e8c84d265602..0e1cc7275566 100644
  		printf("No valid PUD\n");
 -- 
 2.25.1
+
+
+_______________________________________________
+linux-arm-kernel mailing list
+linux-arm-kernel@lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/a/content_digest b/N7/content_digest
index 6483582..5ff10ea 100644
--- a/a/content_digest
+++ b/N7/content_digest
@@ -3,7 +3,7 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
  "Cc\0Rich Felker <dalias@libc.org>"
   linux-ia64@vger.kernel.org
@@ -22,9 +22,11 @@
   Russell King <linux@armlinux.org.uk>
   Ley Foon Tan <ley.foon.tan@intel.com>
   Catalin Marinas <catalin.marinas@arm.com>
+  Julien Thierry <julien.thierry.kdev@gmail.com>
   uclinux-h8-devel@lists.sourceforge.jp
   Fenghua Yu <fenghua.yu@intel.com>
   Arnd Bergmann <arnd@arndb.de>
+  Suzuki K Poulose <suzuki.poulose@arm.com>
   kvm-ppc@vger.kernel.org
   Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
   openrisc@lists.librecores.org
@@ -35,6 +37,7 @@
   Tony Luck <tony.luck@intel.com>
   Yoshinori Sato <ysato@users.sourceforge.jp>
   linux-kernel@vger.kernel.org
+  James Morse <james.morse@arm.com>
   Michael Ellerman <mpe@ellerman.id.au>
   nios2-dev@lists.rocketboards.org
   linuxppc-dev@lists.ozlabs.org
@@ -126,8 +129,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +357,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +610,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +630,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +721,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +738,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1092,6 +1095,12 @@
  " \tif (pud_none(*pudp)) {\n"
  " \t\tprintf(\"No valid PUD\\n\");\n"
  "-- \n"
- 2.25.1
+ "2.25.1\n"
+ "\n"
+ "\n"
+ "_______________________________________________\n"
+ "linux-arm-kernel mailing list\n"
+ "linux-arm-kernel@lists.infradead.org\n"
+ http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+6f74550e6285f893330ed18411d32158d1177106759b9fec8a0c82a743b8810b

diff --git a/a/1.txt b/N8/1.txt
index 786f7aa..5249058 100644
--- a/a/1.txt
+++ b/N8/1.txt
@@ -83,8 +83,8 @@ index 2781ebf6add4..876d1528c2cf 100644
 -static inline int hash__pgd_bad(pgd_t pgd)
 +static inline int hash__p4d_bad(p4d_t p4d)
  {
--	return (pgd_val(pgd) = 0);
-+	return (p4d_val(p4d) = 0);
+-	return (pgd_val(pgd) == 0);
++	return (p4d_val(p4d) == 0);
  }
  #ifdef CONFIG_STRICT_KERNEL_RWX
  extern void hash__mark_rodata_ro(void);
@@ -311,11 +311,11 @@ index c40ec32b8194..81b1c54e3cf1 100644
   */
  
 -#define pgd_none(pgd)		(!pgd_val(pgd))
--#define pgd_bad(pgd)		(pgd_val(pgd) = 0)
+-#define pgd_bad(pgd)		(pgd_val(pgd) == 0)
 -#define pgd_present(pgd)	(pgd_val(pgd) != 0)
 -#define pgd_page_vaddr(pgd)	(pgd_val(pgd) & ~PGD_MASKED_BITS)
 +#define p4d_none(p4d)		(!p4d_val(p4d))
-+#define p4d_bad(p4d)		(p4d_val(p4d) = 0)
++#define p4d_bad(p4d)		(p4d_val(p4d) == 0)
 +#define p4d_present(p4d)	(p4d_val(p4d) != 0)
 +#define p4d_page_vaddr(p4d)	(p4d_val(p4d) & ~P4D_MASKED_BITS)
  
@@ -564,7 +564,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
  	}
 -	pudp = pud_offset(pgdp, ea);
 +	pudp = pud_offset(p4dp, ea);
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
  		ptep = (pte_t *)pudp;
  		goto set_the_pte;
 @@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,
@@ -584,7 +584,7 @@ index dd1bea45325c..fc3d0b0460b0 100644
 +	pudp = pud_alloc(&init_mm, p4dp, ea);
  	if (!pudp)
  		return -ENOMEM;
- 	if (map_page_size = PUD_SIZE) {
+ 	if (map_page_size == PUD_SIZE) {
 @@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,
  {
  	unsigned long idx;
@@ -675,7 +675,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +	p4 = p4d_offset(pg, addr);
  
  #ifdef CONFIG_PPC_BOOK3S_64
- 	if (pshift = PGDIR_SHIFT)
+ 	if (pshift == PGDIR_SHIFT)
  		/* 16GB huge page */
 -		return (pte_t *) pg;
 +		return (pte_t *) p4;
@@ -692,7 +692,7 @@ index 73d4873fc7f8..43d463f20fc3 100644
 +		pu = pud_alloc(mm, p4, addr);
  		if (!pu)
  			return NULL;
- 		if (pshift = PUD_SHIFT)
+ 		if (pshift == PUD_SHIFT)
 @@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz
  #else
  	if (pshift >= PGDIR_SHIFT) {
diff --git a/a/content_digest b/N8/content_digest
index 6483582..53ecb9b 100644
--- a/a/content_digest
+++ b/N8/content_digest
@@ -3,42 +3,45 @@
  "ref\020200306200016.6f3865ada0daa68b645fe5d7@linux-foundation.org\0"
  "From\0Mike Rapoport <rppt@linux.ibm.com>\0"
  "Subject\0Re: [PATCH v3 07/14] powerpc/32: drop get_pteptr()\0"
- "Date\0Sun, 08 Mar 2020 10:54:44 +0000\0"
+ "Date\0Sun, 8 Mar 2020 12:54:44 +0200\0"
  "To\0Andrew Morton <akpm@linux-foundation.org>\0"
- "Cc\0Rich Felker <dalias@libc.org>"
-  linux-ia64@vger.kernel.org
-  Geert Uytterhoeven <geert+renesas@glider.be>
-  linux-sh@vger.kernel.org
+ "Cc\0Mike Rapoport <rppt@kernel.org>"
+  linux-kernel@vger.kernel.org
+  Arnd Bergmann <arnd@arndb.de>
   Benjamin Herrenschmidt <benh@kernel.crashing.org>
-  linux-mm@kvack.org
-  Paul Mackerras <paulus@samba.org>
-  linux-hexagon@vger.kernel.org
-  Will Deacon <will@kernel.org>
-  kvmarm@lists.cs.columbia.edu
-  Jonas Bonn <jonas@southpole.se>
-  linux-arch@vger.kernel.org
   Brian Cain <bcain@codeaurora.org>
-  Marc Zyngier <maz@kernel.org>
-  Russell King <linux@armlinux.org.uk>
-  Ley Foon Tan <ley.foon.tan@intel.com>
   Catalin Marinas <catalin.marinas@arm.com>
-  uclinux-h8-devel@lists.sourceforge.jp
+  Christophe Leroy <christophe.leroy@c-s.fr>
   Fenghua Yu <fenghua.yu@intel.com>
-  Arnd Bergmann <arnd@arndb.de>
-  kvm-ppc@vger.kernel.org
-  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
-  openrisc@lists.librecores.org
-  Stafford Horne <shorne@gmail.com>
+  Geert Uytterhoeven <geert+renesas@glider.be>
   Guan Xuetao <gxt@pku.edu.cn>
-  linux-arm-kernel@lists.infradead.org
-  Christophe Leroy <christophe.leroy@c-s.fr>
+  James Morse <james.morse@arm.com>
+  Jonas Bonn <jonas@southpole.se>
+  Julien Thierry <julien.thierry.kdev@gmail.com>
+  Ley Foon Tan <ley.foon.tan@intel.com>
+  Marc Zyngier <maz@kernel.org>
+  Michael Ellerman <mpe@ellerman.id.au>
+  Paul Mackerras <paulus@samba.org>
+  Rich Felker <dalias@libc.org>
+  Russell King <linux@armlinux.org.uk>
+  Stafford Horne <shorne@gmail.com>
+  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+  Suzuki K Poulose <suzuki.poulose@arm.com>
   Tony Luck <tony.luck@intel.com>
+  Will Deacon <will@kernel.org>
   Yoshinori Sato <ysato@users.sourceforge.jp>
-  linux-kernel@vger.kernel.org
-  Michael Ellerman <mpe@ellerman.id.au>
-  nios2-dev@lists.rocketboards.org
+  kvmarm@lists.cs.columbia.edu
+  kvm-ppc@vger.kernel.org
+  linux-arch@vger.kernel.org
+  linux-arm-kernel@lists.infradead.org
+  linux-hexagon@vger.kernel.org
+  linux-ia64@vger.kernel.org
+  linux-mm@kvack.org
   linuxppc-dev@lists.ozlabs.org
- " Mike Rapoport <rppt@kernel.org>\0"
+  linux-sh@vger.kernel.org
+  nios2-dev@lists.rocketboards.org
+  openrisc@lists.librecores.org
+ " uclinux-h8-devel@lists.sourceforge.jp\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 06, 2020 at 08:00:16PM -0800, Andrew Morton wrote:\n"
@@ -126,8 +129,8 @@
  "-static inline int hash__pgd_bad(pgd_t pgd)\n"
  "+static inline int hash__p4d_bad(p4d_t p4d)\n"
  " {\n"
- "-\treturn (pgd_val(pgd) = 0);\n"
- "+\treturn (p4d_val(p4d) = 0);\n"
+ "-\treturn (pgd_val(pgd) == 0);\n"
+ "+\treturn (p4d_val(p4d) == 0);\n"
  " }\n"
  " #ifdef CONFIG_STRICT_KERNEL_RWX\n"
  " extern void hash__mark_rodata_ro(void);\n"
@@ -354,11 +357,11 @@
  "  */\n"
  " \n"
  "-#define pgd_none(pgd)\t\t(!pgd_val(pgd))\n"
- "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) = 0)\n"
+ "-#define pgd_bad(pgd)\t\t(pgd_val(pgd) == 0)\n"
  "-#define pgd_present(pgd)\t(pgd_val(pgd) != 0)\n"
  "-#define pgd_page_vaddr(pgd)\t(pgd_val(pgd) & ~PGD_MASKED_BITS)\n"
  "+#define p4d_none(p4d)\t\t(!p4d_val(p4d))\n"
- "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) = 0)\n"
+ "+#define p4d_bad(p4d)\t\t(p4d_val(p4d) == 0)\n"
  "+#define p4d_present(p4d)\t(p4d_val(p4d) != 0)\n"
  "+#define p4d_page_vaddr(p4d)\t(p4d_val(p4d) & ~P4D_MASKED_BITS)\n"
  " \n"
@@ -607,7 +610,7 @@
  " \t}\n"
  "-\tpudp = pud_offset(pgdp, ea);\n"
  "+\tpudp = pud_offset(p4dp, ea);\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  " \t\tptep = (pte_t *)pudp;\n"
  " \t\tgoto set_the_pte;\n"
  "@@ -114,6 +116,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa,\n"
@@ -627,7 +630,7 @@
  "+\tpudp = pud_alloc(&init_mm, p4dp, ea);\n"
  " \tif (!pudp)\n"
  " \t\treturn -ENOMEM;\n"
- " \tif (map_page_size = PUD_SIZE) {\n"
+ " \tif (map_page_size == PUD_SIZE) {\n"
  "@@ -173,6 +177,7 @@ void radix__change_memory_range(unsigned long start, unsigned long end,\n"
  " {\n"
  " \tunsigned long idx;\n"
@@ -718,7 +721,7 @@
  "+\tp4 = p4d_offset(pg, addr);\n"
  " \n"
  " #ifdef CONFIG_PPC_BOOK3S_64\n"
- " \tif (pshift = PGDIR_SHIFT)\n"
+ " \tif (pshift == PGDIR_SHIFT)\n"
  " \t\t/* 16GB huge page */\n"
  "-\t\treturn (pte_t *) pg;\n"
  "+\t\treturn (pte_t *) p4;\n"
@@ -735,7 +738,7 @@
  "+\t\tpu = pud_alloc(mm, p4, addr);\n"
  " \t\tif (!pu)\n"
  " \t\t\treturn NULL;\n"
- " \t\tif (pshift = PUD_SHIFT)\n"
+ " \t\tif (pshift == PUD_SHIFT)\n"
  "@@ -159,10 +161,10 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz\n"
  " #else\n"
  " \tif (pshift >= PGDIR_SHIFT) {\n"
@@ -1094,4 +1097,4 @@
  "-- \n"
  2.25.1
 
-e30d2ac7f438b2e0585c71db9c7ad4db182f5e18ef94a7fec3c661d022a15b71
+749c673e9476ff34992bae304225b3e020d47decfed5da83fd06a77bc21c22be

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.