When we're finalizing a bounce page, we must clear
PageChecked. Otherwise, if it's a page pool page, it will
be reused without the full wipe the kernel gives it, and we
will see PageChecked on pages which are not actually from
encryption and will handle them incorrectly.
Fixes:
f3fe144b85 ("LU-15003 sec: use enc pool for bounce pages")
Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: I8b319e7ba55dd883d74db79a19bf93b6f125616a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53865
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
{
struct page *page = *pagep;
{
struct page *page = *pagep;
+ ClearPageChecked(page);
/* PagePrivate2 was set in osc_encrypt_pagecache_blocks
* to indicate the cipher page was allocated by ourselves.
* So we must not free it via llcrypt.
/* PagePrivate2 was set in osc_encrypt_pagecache_blocks
* to indicate the cipher page was allocated by ourselves.
* So we must not free it via llcrypt.