From: Kent Overstreet Date: Mon, 28 Apr 2025 16:11:31 +0000 (-0400) Subject: bcachefs: Don't generate alloc updates to invalid buckets X-Git-Tag: v6.15-rc5~18^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eca5b56ccfdf583a8781503646fb39554f8624bd;p=thirdparty%2Fkernel%2Flinux.git bcachefs: Don't generate alloc updates to invalid buckets Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index e1efae43982a8..31fbc2716d8bf 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -604,6 +604,13 @@ static int bch2_trigger_pointer(struct btree_trans *trans, } struct bpos bucket = PTR_BUCKET_POS(ca, &p.ptr); + if (!bucket_valid(ca, bucket.offset)) { + if (insert) { + bch2_dev_bucket_missing(ca, bucket.offset); + ret = -BCH_ERR_trigger_pointer; + } + goto err; + } if (flags & BTREE_TRIGGER_transactional) { struct bkey_i_alloc_v4 *a = bch2_trans_start_alloc_update(trans, bucket, 0);