mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ubifs: prevent corrupted data write via error_remove_folio
@ 2026-02-11  7:40 fan.yu9
  2026-02-11  8:46 ` Zhihao Cheng
  2026-02-11  9:32 ` xu.xin16
  0 siblings, 2 replies; 3+ messages in thread
From: fan.yu9 @ 2026-02-11  7:40 UTC (permalink / raw)
  To: richard, chengzhihao1
  Cc: cui.jinpeng2, zhang.yue5, xu.xin16, yang.tao172, yang.yang29,
	hu.shengming, linux-mtd, linux-kernel

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 capability
and 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: Fan Yu <fan.yu9@zte.com.cn>
Cc: Shengming Hu <hu.shengming@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 3dc3ca1..34445b7 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1631,6 +1631,7 @@ static int ubifs_symlink_getattr(struct mnt_idmap *idmap,
    .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 = {
--
1.8.3.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-02-11  9:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-11  7:40 [PATCH] ubifs: prevent corrupted data write via error_remove_folio fan.yu9
2026-02-11  8:46 ` Zhihao Cheng
2026-02-11  9:32 ` xu.xin16

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®