linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] erofs: fix null-ptr-deref caused by erofs_xattr_prefixes_init
@ 2023-05-15 10:39 Jingbo Xu
  2023-05-16  1:06 ` Yue Hu
  2023-05-23  6:25 ` Chao Yu
  0 siblings, 2 replies; 3+ messages in thread
From: Jingbo Xu @ 2023-05-15 10:39 UTC (permalink / raw)
  To: xiang, chao, huyue2, linux-erofs; +Cc: linux-kernel

Fragments and dedupe share one feature bit, and thus packed inode may not
exist when fragment feature bit (dedupe feature bit exactly) is set, e.g.
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@syzkaller.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@linux.alibaba.com>
---
v2: polish the commit message (Gao Xiang)
---
 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);
-- 
2.19.1.6.gb485710b


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

* Re: [PATCH v2] erofs: fix null-ptr-deref caused by erofs_xattr_prefixes_init
  2023-05-15 10:39 [PATCH v2] erofs: fix null-ptr-deref caused by erofs_xattr_prefixes_init Jingbo Xu
@ 2023-05-16  1:06 ` Yue Hu
  2023-05-23  6:25 ` Chao Yu
  1 sibling, 0 replies; 3+ messages in thread
From: Yue Hu @ 2023-05-16  1:06 UTC (permalink / raw)
  To: Jingbo Xu; +Cc: xiang, chao, linux-erofs, linux-kernel, huyue2, zhangwen

On Mon, 15 May 2023 18:39:41 +0800
Jingbo Xu <jefflexu@linux.alibaba.com> wrote:

> Fragments and dedupe share one feature bit, and thus packed inode may not
> exist when fragment feature bit (dedupe feature bit exactly) is set, e.g.
> 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@syzkaller.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@linux.alibaba.com>

Reviewed-by: Yue Hu <huyue2@coolpad.com>

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

* Re: [PATCH v2] erofs: fix null-ptr-deref caused by erofs_xattr_prefixes_init
  2023-05-15 10:39 [PATCH v2] erofs: fix null-ptr-deref caused by erofs_xattr_prefixes_init Jingbo Xu
  2023-05-16  1:06 ` Yue Hu
@ 2023-05-23  6:25 ` Chao Yu
  1 sibling, 0 replies; 3+ messages in thread
From: Chao Yu @ 2023-05-23  6:25 UTC (permalink / raw)
  To: Jingbo Xu, xiang, huyue2, linux-erofs; +Cc: linux-kernel

On 2023/5/15 18:39, Jingbo Xu wrote:
> Fragments and dedupe share one feature bit, and thus packed inode may not
> exist when fragment feature bit (dedupe feature bit exactly) is set, e.g.
> 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@syzkaller.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@linux.alibaba.com>

Reviewed-by: Chao Yu <chao@kernel.org>

Thanks,

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

end of thread, other threads:[~2023-05-23  6:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-15 10:39 [PATCH v2] erofs: fix null-ptr-deref caused by erofs_xattr_prefixes_init Jingbo Xu
2023-05-16  1:06 ` Yue Hu
2023-05-23  6:25 ` Chao Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).