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

"Zi Yan" <[email protected]> Sat, 01 Aug 2026 21:29:23 -0400
Newsgroups org.kernel.vger.linux-fscrypt,org.kernel.vger.linux-kernel,org.kvack.linux-mm
Message-ID <[email protected]>
On Sat Aug 1, 2026 at 10:52 AM EDT, Usama Arif wrote:
> On Fri, 31 Jul 2026 22:13:27 -0400 Zi Yan <[email protected]> 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.

Will change it to:

The pointer to a plaintext folio is stored in bounce_page->private and
cannot be NULL until the bounce_page is freed, making PG_private
redundant.

>
> =20
>> It prepares for a future commit that remove PG_private.
>>=20
>> No funtional change intended.
>>=20
>> Assisted-by: Claude:claude-opus-4-8
>> Assisted-by: Codex:gpt-5
>> Signed-off-by: Zi Yan <[email protected]>
>> To: Eric Biggers <[email protected]>
>> To: "Theodore Y. Ts'o" <[email protected]>
>> To: Jaegeuk Kim <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> ---
>>  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 <[email protected]>

Thanks.

>
>
>>=20
>> 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;
>>  }
>>=20
>> --=20
>> 2.53.0
>>=20
>>=20




--=20
Best Regards,
Yan, Zi