Subject: [PATCH] iomap: remove set_memor_ro() on zero page

From: Luis Chamberlain <[email-masked]>
Date: Mon, 26 Aug 2024 14:26:32 -0700

Stephen reported a boot failure on ppc power8 system where
set_memor_ro() on the new zero page failed [0]. Christophe Leroy
further clarifies we can't use this on on linear memory on ppc, and
so instead of special casing this just for PowerPC [2] remove the
call as suggested by Darrick.

[0] https://lore.kernel.org/all/[email-masked]/T/#u
[1] https://lore.kernel.org/all/[email-masked]/
[2] https://lore.kernel.org/all/[email-masked]/

Reported-by: Stephen Rothwell <[email-masked]>
Suggested-by: "Darrick J. Wong" <[email-masked]>
Signed-off-by: Luis Chamberlain <[email-masked]>
---

This applies to the vfs.blocksize branch on the vfs tree.

 fs/iomap/direct-io.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
index c02b266bba52..f637aa0706a3 100644
--- a/fs/iomap/direct-io.c
+++ b/fs/iomap/direct-io.c
@@ -11,7 +11,6 @@
 #include <linux/iomap.h>
 #include <linux/backing-dev.h>
 #include <linux/uio.h>
-#include <linux/set_memory.h>
 #include <linux/task_io_accounting_ops.h>
 #include "trace.h"
 
@@ -781,8 +780,6 @@ static int __init iomap_dio_init(void)
 	if (!zero_page)
 		return -ENOMEM;
 
-	set_memory_ro((unsigned long)page_address(zero_page),
-		      1U << IOMAP_ZERO_PAGE_ORDER);
 	return 0;
 }
 fs_initcall(iomap_dio_init);
-- 
2.43.0