diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-07 11:44:12 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-07 11:50:45 -0500 |
commit | 641ac20403099dde8dcff2a83b9a42ccf1bdd20d (patch) | |
tree | 977132ccc87b993699b5bd229f09d92d6e499ba9 /fs/bcachefs/tests.c | |
parent | 4de5f035a8eac1ce90e1e7a458a29663c34e9441 (diff) |
bcachefs: Fix rand_delete() testbcachefs-v5.9
When we didn't find a key to delete we were getting a null ptr deref.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/tests.c')
-rw-r--r-- | fs/bcachefs/tests.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/bcachefs/tests.c b/fs/bcachefs/tests.c index 5f40b048dd0d..f1d09e3ada09 100644 --- a/fs/bcachefs/tests.c +++ b/fs/bcachefs/tests.c @@ -563,15 +563,14 @@ static int __do_delete(struct btree_trans *trans, struct bpos pos) iter = bch2_trans_get_iter(trans, BTREE_ID_XATTRS, pos, BTREE_ITER_INTENT); - ret = PTR_ERR_OR_ZERO(iter); - if (ret) - goto err; - k = bch2_btree_iter_peek(iter); ret = bkey_err(k); if (ret) goto err; + if (!k.k) + goto err; + bkey_init(&delete.k); delete.k.p = k.k->p; |