libceph: do not dereference a NULL bio pointer
Commit f38a5181d9f3 ("ceph: Convert to immutable biovecs") introduced a NULL pointer dereference, which broke rbd in -rc1. Fix it. Cc: Kent Overstreet <kmo@daterainc.com> Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
ff513ace9b
commit
0ec1d15ec6
@ -840,9 +840,13 @@ static bool ceph_msg_data_bio_advance(struct ceph_msg_data_cursor *cursor,
|
|||||||
|
|
||||||
if (!cursor->bvec_iter.bi_size) {
|
if (!cursor->bvec_iter.bi_size) {
|
||||||
bio = bio->bi_next;
|
bio = bio->bi_next;
|
||||||
cursor->bvec_iter = bio->bi_iter;
|
cursor->bio = bio;
|
||||||
|
if (bio)
|
||||||
|
cursor->bvec_iter = bio->bi_iter;
|
||||||
|
else
|
||||||
|
memset(&cursor->bvec_iter, 0,
|
||||||
|
sizeof(cursor->bvec_iter));
|
||||||
}
|
}
|
||||||
cursor->bio = bio;
|
|
||||||
|
|
||||||
if (!cursor->last_piece) {
|
if (!cursor->last_piece) {
|
||||||
BUG_ON(!cursor->resid);
|
BUG_ON(!cursor->resid);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user