Re: [PATCH] iomap: remove set_memor_ro() on zero page
From: Darrick J. Wong
Date: Tue Aug 27 2024 - 01:55:52 EST
On Mon, Aug 26, 2024 at 02:26:32PM -0700, Luis Chamberlain wrote:
> 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/20240826175931.1989f99e@xxxxxxxxxxxxxxxx/T/#u
> [1] https://lore.kernel.org/all/b0fe75b4-c1bb-47f7-a7c3-2534b31c1780@xxxxxxxxxx/
> [2] https://lore.kernel.org/all/ZszrJkFOpiy5rCma@xxxxxxxxxxxxxxxxxxxxxx/
>
> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Suggested-by: "Darrick J. Wong" <djwong@xxxxxxxxxx>
> Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>
--D
> ---
>
> 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
>
>