Re: [PATCH RFC 04/14] fs/crypto: stop setting PG_private on bounce page

From: Usama Arif

Date: Sat Aug 01 2026 - 10:52:37 EST


On Fri, 31 Jul 2026 22:13:27 -0400 Zi Yan <ziy@xxxxxxxxxx> wrote:

> The point to a plaintext folio is stored in page->private and cannot be
> NULL, making PG_private redundant.

s/point to/pointer to/


And fscrypt_free_bounce_page() NULLs it, so that needs to be corrected.


> It prepares for a future commit that remove PG_private.
>
> No funtional change intended.
>
> Assisted-by: Claude:claude-opus-4-8
> Assisted-by: Codex:gpt-5
> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>
> To: Eric Biggers <ebiggers@xxxxxxxxxx>
> To: "Theodore Y. Ts'o" <tytso@xxxxxxx>
> To: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
> Cc: linux-fscrypt@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> fs/crypto/crypto.c | 2 --
> 1 file changed, 2 deletions(-)

Nothing in fscrypt or its users tests PG_private on a bounce page, so
this looks right to me. The commit message needs to be corrected but code
looks correct.

Feel free to add:

Acked-by: Usama Arif <usama.arif@xxxxxxxxx>


>
> diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c
> index 570a2231c945a..c8a98dd94650f 100644
> --- a/fs/crypto/crypto.c
> +++ b/fs/crypto/crypto.c
> @@ -73,7 +73,6 @@ void fscrypt_free_bounce_page(struct page *bounce_page)
> if (!bounce_page)
> return;
> set_page_private(bounce_page, (unsigned long)NULL);
> - ClearPagePrivate(bounce_page);
> mempool_free(bounce_page, fscrypt_bounce_page_pool);
> }
> EXPORT_SYMBOL(fscrypt_free_bounce_page);
> @@ -202,7 +201,6 @@ struct page *fscrypt_encrypt_pagecache_blocks(struct folio *folio,
> return ERR_PTR(err);
> }
> }
> - SetPagePrivate(ciphertext_page);
> set_page_private(ciphertext_page, (unsigned long)folio);
> return ciphertext_page;
> }
>
> --
> 2.53.0
>
>