Make sure that a request bio is not NULL before trying to restore the
request start sector.

Reported-by: Yi Zhang <[email protected]>
Fixes: 6f8fd758de63 ("block: Restore sector of flush requests")
Signed-off-by: Damien Le Moal <[email protected]>
---
 block/blk-flush.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/block/blk-flush.c b/block/blk-flush.c
index 2f58ae018464..c17cf8ed8113 100644
--- a/block/blk-flush.c
+++ b/block/blk-flush.c
@@ -130,7 +130,8 @@ static void blk_flush_restore_request(struct request *rq)
         * original @rq->bio.  Restore it.
         */
        rq->bio = rq->biotail;
-       rq->__sector = rq->bio->bi_iter.bi_sector;
+       if (rq->bio)
+               rq->__sector = rq->bio->bi_iter.bi_sector;
 
        /* make @rq a normal request */
        rq->rq_flags &= ~RQF_FLUSH_SEQ;
-- 
2.44.0


Reply via email to