Re: [f2fs-dev] [PATCH] f2fs: avoid stale fi->gdirty_list pointer
From: Chao Yu
Date: Sun Oct 15 2017 - 21:57:08 EST
On 2017/10/13 10:14, Jaegeuk Kim wrote:
> When doing fault injection test, f2fs_evict_inode() didn't remove gdirty_list
> which incurs a kernel panic due to wrong pointer access.
>
> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx>
Minor thing, how about reverting judgment condition for readability?
if (is_set_ckpt_flags(sbi, CP_ERROR_FLAG))
f2fs_inode_synced()
else
f2fs_bug_on()
Thanks,
> ---
> fs/f2fs/inode.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
> index f6db9d533ca4..1ae5396c97d6 100644
> --- a/fs/f2fs/inode.c
> +++ b/fs/f2fs/inode.c
> @@ -535,6 +535,8 @@ void f2fs_evict_inode(struct inode *inode)
>
> if (!is_set_ckpt_flags(sbi, CP_ERROR_FLAG))
> f2fs_bug_on(sbi, is_inode_flag_set(inode, FI_DIRTY_INODE));
> + else
> + f2fs_inode_synced(inode);
>
> /* ino == 0, if f2fs_new_inode() was failed t*/
> if (inode->i_ino)
>