[PATCH v2 2/3] nvme/ioctl: don't call blk_mq_free_request() in nvme_map_user_request()

Christoph Hellwig hch at lst.de
Thu Mar 27 03:42:32 PDT 2025


On Fri, Mar 21, 2025 at 02:57:21PM -0600, Caleb Sander Mateos wrote:
>  	ret = nvme_execute_rq(req, false);
>  	if (result)
>  		*result = le64_to_cpu(nvme_req(req)->result.u64);
>  	if (bio)
>  		blk_rq_unmap_user(bio);
> -	blk_mq_free_request(req);
>  
>  	if (effects)
>  		nvme_passthru_end(ctrl, ns, effects, cmd, ret);
>  
> +out_free_req:
> +	blk_mq_free_request(req);

We'll want the request freed before nvme_passthru_end here to avoid
deadlocks with namespaces scanning.




More information about the Linux-nvme mailing list