nvme: submit internal commands through the block layer

Dan Carpenter dan.carpenter at oracle.com
Wed May 27 03:47:15 PDT 2015


On Wed, May 27, 2015 at 09:56:52AM +0200, Christoph Hellwig wrote:
> On Tue, May 26, 2015 at 12:08:15PM +0300, Dan Carpenter wrote:
> > drivers/block/nvme-core.c
> >    853		 */
> >    854		if (ns && ns->ms && !blk_integrity_rq(req)) {
> >                     ^^
> > Patch adds a new check.
> 
> Correctly so ..
> 
> >    912		nvme_set_info(cmd, iod, req_completion);
> >    913		spin_lock_irq(&nvmeq->q_lock);
> >    914		if (req->cmd_type == REQ_TYPE_DRV_PRIV)
> >    915			nvme_submit_priv(nvmeq, req, iod);
> >    916		else if (req->cmd_flags & REQ_DISCARD)
> >    917			nvme_submit_discard(nvmeq, ns, req, iod);
> >                                                    ^^
> > Dereferenced inside function.
> > 
> >    918		else if (req->cmd_flags & REQ_FLUSH)
> >    919			nvme_submit_flush(nvmeq, ns, req->tag);
> 
> We'll only get REQ_TYPE_DRV_PRIV requests through the passthrough
> interface, so this is unrechable.

Thanks for looking into this, Christoph.

regards,
dan carpenter



More information about the Linux-nvme mailing list