Commit 8060bf1d authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: Fix snapshot_t() usage in bch2_fs_quota_read_inode()



bch2_fs_quota_read_inode() wasn't entirely updated to the
bch2_snapshot_tree() helper, which takes rcu lock.

Reported-by: default avatar <syzbot+a3a9a61224ed3b7f0010@syzkaller.appspotmail.com>
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 0ec5b3b7
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -560,13 +560,11 @@ static int bch2_fs_quota_read_inode(struct btree_trans *trans,
	struct bch_fs *c = trans->c;
	struct bch_inode_unpacked u;
	struct bch_snapshot_tree s_t;
	int ret;
	u32 tree = bch2_snapshot_tree(c, k.k->p.snapshot);

	ret = bch2_snapshot_tree_lookup(trans,
			bch2_snapshot_tree(c, k.k->p.snapshot), &s_t);
	int ret = bch2_snapshot_tree_lookup(trans, tree, &s_t);
	bch2_fs_inconsistent_on(bch2_err_matches(ret, ENOENT), c,
			"%s: snapshot tree %u not found", __func__,
			snapshot_t(c, k.k->p.snapshot)->tree);
			"%s: snapshot tree %u not found", __func__, tree);
	if (ret)
		return ret;