[PATCH v2 RESEND] ubifs: prevent corrupted data write via error_remove_folio

fan.yu9@zte.com.cn posted 1 patch 3 weeks, 3 days ago
fs/ubifs/file.c | 1 +
1 file changed, 1 insertion(+)
[PATCH v2 RESEND] ubifs: prevent corrupted data write via error_remove_folio
Posted by fan.yu9@zte.com.cn 3 weeks, 3 days ago
From: Jinpeng Cui <cui.jinpeng2@zte.com.cn>
When a memory corruption event triggers memory_failure, ext4 releases
references to the affected dirty pages, ensuring that no corrupted data
is written to disk.

However, ubifs currently lacks the error_remove_folio capabilityand
therefore cannot release references to faulty private memory. As a result,
corrupted data may eventually be written to flash storage.

Add generic_error_remove_folio support to ubifs,
preventing corrupted memory data from being persisted to flash.

Signed-off-by: Jinpeng Cui <cui.jinpeng2@zte.com.cn>
Signed-off-by: Shengming Hu <hu.shengming@zte.com.cn>
Signed-off-by: Fan Yu <fan.yu9@zte.com.cn>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: xu xin <xu.xin16@zte.com.cn>
---
Changes in v2:
- Some format fixes according to
https://lore.kernel.org/all/20260211173233604W9pVxv17lV3V2uYD3zCOq@zte.com.cn/

 fs/ubifs/file.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index ca41ce8208c4..730318eb1ba8 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1635,6 +1635,7 @@ const struct address_space_operations ubifs_file_address_operations = {
 	.dirty_folio	= ubifs_dirty_folio,
 	.migrate_folio	= filemap_migrate_folio,
 	.release_folio	= ubifs_release_folio,
+	.error_remove_folio = generic_error_remove_folio,
 };

 const struct inode_operations ubifs_file_inode_operations = {
-- 
2.25.1