mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Zhihao Cheng <chengzhihao1@huawei.com>
To: <fan.yu9@zte.com.cn>, <richard@nod.at>
Cc: <cui.jinpeng2@zte.com.cn>, <zhang.yue5@zte.com.cn>,
	<xu.xin16@zte.com.cn>, <yang.tao172@zte.com.cn>,
	<yang.yang29@zte.com.cn>, <hu.shengming@zte.com.cn>,
	<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] ubifs: prevent corrupted data write via error_remove_folio
Date: Wed, 11 Feb 2026 16:46:07 +0800	[thread overview]
Message-ID: <f800d3d3-4d57-f28c-bece-d95af0d22159@huawei.com> (raw)
In-Reply-To: <20260211154043158VVS6WEc8yD82HcqScmYUn@zte.com.cn>

在 2026/2/11 15:40, fan.yu9@zte.com.cn 写道:
> 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(+)
> 

The 'error_remove_folio' was introduced in commit 
257187362123f15d9d1("HWPOISON: Define a new error_remove_page address 
space op for async truncation") to distinguish the error handling 
behavior beteween metadata page and data page. Files' datapage will be 
truncated if memory error happens during page copy(eg. migration, 
mmap_cow). Then several filesystems(with '.migrate_page' implemtented) 
supportted it. So, I'm fine with this patch.

Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
> 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
> .
> 


  reply	other threads:[~2026-02-11  8:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-11  7:40 fan.yu9
2026-02-11  8:46 ` Zhihao Cheng [this message]
2026-02-11  9:32 ` xu.xin16

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f800d3d3-4d57-f28c-bece-d95af0d22159@huawei.com \
    --to=chengzhihao1@huawei.com \
    --cc=cui.jinpeng2@zte.com.cn \
    --cc=fan.yu9@zte.com.cn \
    --cc=hu.shengming@zte.com.cn \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard@nod.at \
    --cc=xu.xin16@zte.com.cn \
    --cc=yang.tao172@zte.com.cn \
    --cc=yang.yang29@zte.com.cn \
    --cc=zhang.yue5@zte.com.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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®