mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
bcachefs: Fix a null ptr deref
rbio->c wasn't being initialized in the move path Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
89b0511826
commit
b50dd7920d
@ -1218,10 +1218,15 @@ static inline struct bch_read_bio *bch2_rbio_free(struct bch_read_bio *rbio)
|
||||
return rbio;
|
||||
}
|
||||
|
||||
/*
|
||||
* Only called on a top level bch_read_bio to complete an entire read request,
|
||||
* not a split:
|
||||
*/
|
||||
static void bch2_rbio_done(struct bch_read_bio *rbio)
|
||||
{
|
||||
bch2_time_stats_update(&rbio->c->times[BCH_TIME_data_read],
|
||||
rbio->start_time);
|
||||
if (rbio->start_time)
|
||||
bch2_time_stats_update(&rbio->c->times[BCH_TIME_data_read],
|
||||
rbio->start_time);
|
||||
bio_endio(&rbio->bio);
|
||||
}
|
||||
|
||||
|
@ -436,7 +436,8 @@ static int bch2_move_extent(struct bch_fs *c,
|
||||
GFP_KERNEL))
|
||||
goto err_free;
|
||||
|
||||
io->rbio.opts = io_opts;
|
||||
io->rbio.c = c;
|
||||
io->rbio.opts = io_opts;
|
||||
bio_init(&io->rbio.bio, NULL, io->bi_inline_vecs, pages, 0);
|
||||
io->rbio.bio.bi_vcnt = pages;
|
||||
bio_set_prio(&io->rbio.bio, IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0));
|
||||
|
Loading…
Reference in New Issue
Block a user