Commit 28aa859b authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: kmsan asserts



Catching these early makes them a lot easier to track down.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 53cf2a3d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ bool bch2_btree_bset_insert_key(struct btree_trans *trans,
	EBUG_ON(bpos_gt(insert->k.p, b->data->max_key));
	EBUG_ON(insert->k.u64s > bch2_btree_keys_u64s_remaining(b));
	EBUG_ON(!b->c.level && !bpos_eq(insert->k.p, path->pos));
	kmsan_check_memory(insert, bkey_bytes(&insert->k));

	k = bch2_btree_node_iter_peek_all(node_iter, b);
	if (k && bkey_cmp_left_packed(b, k, &insert->k.p))
+2 −0
Original line number Diff line number Diff line
@@ -512,6 +512,8 @@ static noinline int bch2_trans_update_get_key_cache(struct btree_trans *trans,
int __must_check bch2_trans_update(struct btree_trans *trans, struct btree_iter *iter,
				   struct bkey_i *k, enum btree_iter_update_trigger_flags flags)
{
	kmsan_check_memory(k, bkey_bytes(&k->k));

	btree_path_idx_t path_idx = iter->update_path ?: iter->path;
	int ret;

+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ static inline int __must_check bch2_trans_update_buffered(struct btree_trans *tr
					    enum btree_id btree,
					    struct bkey_i *k)
{
	kmsan_check_memory(k, bkey_bytes(&k->k));

	if (unlikely(!btree_type_uses_write_buffer(btree))) {
		int ret = bch2_btree_write_buffer_insert_err(trans, btree, k);
		dump_stack();