From 2a89a3e9682b127c1978ac31eb38ef73a39a416e Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 20 Jul 2023 19:30:53 -0400 Subject: [PATCH] bcachefs: Fix a null ptr deref in check_xattr() We were attempting to initialize inode hash info when no inodes were found. Signed-off-by: Kent Overstreet --- fs/bcachefs/fsck.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c index 022af0270692f..5338765b3e68e 100644 --- a/fs/bcachefs/fsck.c +++ b/fs/bcachefs/fsck.c @@ -1662,7 +1662,7 @@ static int check_dirent(struct btree_trans *trans, struct btree_iter *iter, if (ret < 0) goto err; - if (dir->first_this_inode) + if (dir->first_this_inode && dir->inodes.nr) *hash_info = bch2_hash_info_init(c, &dir->inodes.data[0].inode); dir->first_this_inode = false; @@ -1839,7 +1839,7 @@ static int check_xattr(struct btree_trans *trans, struct btree_iter *iter, if (ret) return ret; - if (inode->first_this_inode) + if (inode->first_this_inode && inode->inodes.nr) *hash_info = bch2_hash_info_init(c, &inode->inodes.data[0].inode); inode->first_this_inode = false; -- 2.30.2