Răsfoiți Sursa

lightnvm: check mm before use

The core can may issue I/Os before a media manager is registered with
the lightnvm subsystem. Make sure that we don't call the media manager
->end_io prematurely with a null pointer.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
Matias Bjørling 9 ani în urmă
părinte
comite
437f8f9a1e
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      drivers/nvme/host/lightnvm.c

+ 1 - 1
drivers/nvme/host/lightnvm.c

@@ -455,7 +455,7 @@ static void nvme_nvm_end_io(struct request *rq, int error)
 	struct nvm_rq *rqd = rq->end_io_data;
 	struct nvm_dev *dev = rqd->dev;
 
-	if (dev->mt->end_io(rqd, error))
+	if (dev->mt && dev->mt->end_io(rqd, error))
 		pr_err("nvme: err status: %x result: %lx\n",
 				rq->errors, (unsigned long)rq->special);