Re: [PATCH] f2fs: fsverity: Truncate cache pages if set verity failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2021/2/25 7:11, Eric Biggers 写道:
On Wed, Feb 24, 2021 at 03:02:52PM -0800, Eric Biggers wrote:
Hi Yunlei,

On Wed, Feb 24, 2021 at 09:16:24PM +0800, Chao Yu wrote:
Hi Yunlei,

On 2021/2/23 19:24, heyunlei wrote:
If file enable verity failed, should truncate anything wrote
past i_size, including cache pages.
+Cc Eric,

After failure of enabling verity, we will see verity metadata if we truncate
file to larger size later?

Thanks,
Hi Eric,
Signed-off-by: heyunlei <heyunlei@xxxxxxxxxxx>
---
   fs/f2fs/verity.c | 4 +++-
   1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c
index 054ec852b5ea..f1f9b9361a71 100644
--- a/fs/f2fs/verity.c
+++ b/fs/f2fs/verity.c
@@ -170,8 +170,10 @@ static int f2fs_end_enable_verity(struct file *filp, const void *desc,
   	}
   	/* If we failed, truncate anything we wrote past i_size. */
-	if (desc == NULL || err)
+	if (desc == NULL || err) {
+		truncate_inode_pages(inode->i_mapping, inode->i_size);
   		f2fs_truncate(inode);
+	}
   	clear_inode_flag(inode, FI_VERITY_IN_PROGRESS);

By the way,should  we consider  set xattr failed?

Thanks.

This looks good; thanks for finding this.  You can add:

	Reviewed-by: Eric Biggers <ebiggers@xxxxxxxxxx>

I thought that f2fs_truncate() would truncate pagecache pages too, but in fact
that's not the case.

ext4_end_enable_verity() has the same bug too.  Can you please send a patch for
that too (to linux-ext4)?

Also please include the following tags in the f2fs patch:

	Fixes: 95ae251fe828 ("f2fs: add fs-verity support")
	Cc: <stable@xxxxxxxxxxxxxxx> # v5.4+

and in the ext4 patch:

	Fixes: c93d8f885809 ("ext4: add basic fs-verity support")
	Cc: <stable@xxxxxxxxxxxxxxx> # v5.4+

- Eric




[Index of Archives]     [linux Cryptography]     [Asterisk App Development]     [PJ SIP]     [Gnu Gatekeeper]     [IETF Sipping]     [Info Cyrus]     [ALSA User]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite News]     [Deep Creek Hot Springs]     [Yosemite Campsites]     [ISDN Cause Codes]

  Powered by Linux