2015-05-19 12:04:31

by Dan Carpenter

[permalink] [raw]
Subject: [patch -next] target: double locking typo in core_clear_lun_from_tpg()

We accidentally deadlock instead of unlocking.

Fixes: 08d20ff62cde ('target: Acquire lun_entry_mutex during core_disable_device_list_for_node')
Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
index 2f4c8fa..20618df 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -433,7 +433,7 @@ void core_clear_lun_from_tpg(struct se_lun *lun, struct se_portal_group *tpg)

core_disable_device_list_for_node(lun, deve, nacl, tpg);
}
- mutex_lock(&nacl->lun_entry_mutex);
+ mutex_unlock(&nacl->lun_entry_mutex);
}
mutex_unlock(&tpg->acl_node_mutex);
}


2015-05-19 18:44:42

by Nicholas A. Bellinger

[permalink] [raw]
Subject: Re: [patch -next] target: double locking typo in core_clear_lun_from_tpg()

On Tue, 2015-05-19 at 15:04 +0300, Dan Carpenter wrote:
> We accidentally deadlock instead of unlocking.
>
> Fixes: 08d20ff62cde ('target: Acquire lun_entry_mutex during core_disable_device_list_for_node')
> Signed-off-by: Dan Carpenter <[email protected]>
>
> diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
> index 2f4c8fa..20618df 100644
> --- a/drivers/target/target_core_device.c
> +++ b/drivers/target/target_core_device.c
> @@ -433,7 +433,7 @@ void core_clear_lun_from_tpg(struct se_lun *lun, struct se_portal_group *tpg)
>
> core_disable_device_list_for_node(lun, deve, nacl, tpg);
> }
> - mutex_lock(&nacl->lun_entry_mutex);
> + mutex_unlock(&nacl->lun_entry_mutex);
> }
> mutex_unlock(&tpg->acl_node_mutex);
> }

Applied to for-next, and will squash into the original soon.

Thanks Dan!

--nab