2022-11-19 07:52:51

by Ryusuke Konishi

[permalink] [raw]
Subject: Re: [PATCH] nilfs2: fix NULL pointer dereference in nilfs_palloc_commit_free_entry()

On Sat, Nov 19, 2022 at 3:38 PM zhangpeng (AS) wrote:
>
> Hi, ZhangPeng,
>
> On Tue, Nov 15, 2022 at 3:39 AM Ryusuke Konishi wrote:
> As for the current outlook, it seems difficult to eliminate
> duplication of the virtual block number, so I think we will call
> nilfs_error() as follows:
>
> nilfs_dat_commit_entry(dat, req);
> + if (unlikely(req->pr_desc_bh == NULL || req->pr_bitmap_bh == NULL)) {
> + nilfs_error(dat->i_sb,
> + "state inconsistency due to duplicate use
> of vblocknr = %llu",
> + (unsigned long long)req->pr_entry_nr);
> + return;
> + }
> nilfs_palloc_commit_free_entry(dat, req);
>
> In that case, I would like to modify your patch and send it upstream
> as your patch. Is that OK ?
> Or do you want to fix it more by yourself ?
>
> Thanks,
> Ryusuke Konishi
>
> Thanks for your advice.
>
> Please modify my patch and send it upstream.
>
> That is really a complicated problem. Duplication of the virtual block
> number is not easy to fix. It is necessary to prevent further operations
> of the filesystem when the filesystem has a fatal flaw. I will continue
> to follow up.

All right, thanks!

Ryusuke Konishi