> +static void nvme_loop_free_ctrl(struct nvme_ctrl *nctrl)
> +{
> + struct nvme_loop_ctrl *ctrl = to_loop_ctrl(nctrl);
> +
> + list_del(&ctrl->list);
This should be list_del_init so that cleanup_module
list_empty() check will be correct. unloading nvme-loop
with active controllers is getting a list corruption.