mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
bcachefs: Fix stripe_idx_to_delete()
There was a null ptr deref when there wasn't a stripes heap allocated Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
97fd13ad76
commit
f516c87272
2 changed files with 3 additions and 1 deletions
|
@ -575,7 +575,8 @@ static ssize_t stripe_idx_to_delete(struct bch_fs *c)
|
|||
{
|
||||
ec_stripes_heap *h = &c->ec_stripes_heap;
|
||||
|
||||
return h->data[0].blocks_nonempty == 0 ? h->data[0].idx : -1;
|
||||
return h->used && h->data[0].blocks_nonempty == 0
|
||||
? h->data[0].idx : -1;
|
||||
}
|
||||
|
||||
static inline int ec_stripes_heap_cmp(ec_stripes_heap *h,
|
||||
|
|
|
@ -277,6 +277,7 @@ void bch2_fs_read_only(struct bch_fs *c)
|
|||
*/
|
||||
percpu_ref_kill(&c->writes);
|
||||
|
||||
cancel_work_sync(&c->ec_stripe_delete_work);
|
||||
cancel_delayed_work(&c->pd_controllers_update);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue