[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ee7d8f0f-042f-57d8-1195-45e3a49e8003@linux.alibaba.com>
Date: Mon, 15 May 2023 17:30:00 +0800
From: Gao Xiang <hsiangkao@...ux.alibaba.com>
To: Jingbo Xu <jefflexu@...ux.alibaba.com>, xiang@...nel.org,
chao@...nel.org, huyue2@...lpad.com, linux-erofs@...ts.ozlabs.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] erofs: fix null-ptr-deref caused by
erofs_xattr_prefixes_init
On 2023/5/15 02:21, Jingbo Xu wrote:
> Fragments and dedup share one feature bit, and thus packed inode may not
please use the formal name "dedupe".
> exist when fragment feature bit (dedup feature bit exactly) is set, e.g.
^ dedupe
> when deduplication feature is in use while fragments feature is not. In
> this case, sbi->packed_inode could be NULL while fragments feature bit
> is set.
>
> Fix this by accessing packed inode only when it exists.
>
> Reported-by: syzbot+902d5a9373ae8f748a94@...kaller.appspotmail.com
> Link: https://syzkaller.appspot.com/bug?extid=902d5a9373ae8f748a94
> Fixes: 9e382914617c ("erofs: add helpers to load long xattr name prefixes")
> Signed-off-by: Jingbo Xu <jefflexu@...ux.alibaba.com>
> ---
> fs/erofs/xattr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/erofs/xattr.c b/fs/erofs/xattr.c
> index cd80499351e0..bbfe7ce170d2 100644
> --- a/fs/erofs/xattr.c
> +++ b/fs/erofs/xattr.c
> @@ -675,7 +675,7 @@ int erofs_xattr_prefixes_init(struct super_block *sb)
> if (!pfs)
> return -ENOMEM;
>
> - if (erofs_sb_has_fragments(sbi))
> + if (sbi->packed_inode)
> buf.inode = sbi->packed_inode;
> else
> erofs_init_metabuf(&buf, sb);
Powered by blists - more mailing lists