Re: [PATCH v2 2/3] nvme/ioctl: don't call blk_mq_free_request() in nvme_map_user_request()
From: Christoph Hellwig
Date: Thu Mar 27 2025 - 06:42:55 EST
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.