From e804112e34175d391c34e49f9bcac3c2930a2241 Mon Sep 17 00:00:00 2001 From: Patrick Farrell Date: Wed, 27 Mar 2024 17:44:47 -0400 Subject: [PATCH] LU-17422 osc: Clear PageChecked on bounce pages 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 Change-Id: I8b319e7ba55dd883d74db79a19bf93b6f125616a Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53865 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin Reviewed-by: Andreas Dilger Reviewed-by: Sebastien Buisson --- lustre/osc/osc_request.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lustre/osc/osc_request.c b/lustre/osc/osc_request.c index 8ec47e8..e1ebbf5 100644 --- a/lustre/osc/osc_request.c +++ b/lustre/osc/osc_request.c @@ -1442,6 +1442,7 @@ static inline void osc_finalize_bounce_page(struct 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. -- 1.8.3.1