Re: [PATCH]net:witchdev:release the lock before function return to avoid dead lock

From: Jiri Pirko
Date: Tue Dec 06 2016 - 03:07:39 EST


Tue, Dec 06, 2016 at 03:58:29AM CET, cxdx2006@xxxxxxxxx wrote:
>From : Feng Deng <cxdx2006@xxxxxxxxx>
>
>In switchdev_deferred_dequeue(),only get the lock at the beginning,
>but forgot to release before return,
>we must release the lock to avoid dead lock

Feng, your patches are corrupted. Please use "git send-email"
Also, when you send a fit for -net tree, you have to pass byt the
"Fixes" tag. Please see the git log for details.

Thanks!


>
>Signed-off-by: Feng Deng <feng.deng@xxxxxxxxxxxxxxxxxx>
>---
> net/switchdev/switchdev.c | 1 +
> 1 file changed, 1 insertion(+)
> mode change 100644 => 100755 net/switchdev/switchdev.c
>
>diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c
>index 3b95fe9..c0a1ad4
>--- a/net/switchdev/switchdev.c
>+++ b/net/switchdev/switchdev.c
>@@ -120,6 +120,7 @@ static struct switchdev_deferred_item
>*switchdev_deferred_dequeue(void)
> dfitem = list_first_entry(&deferred,
> struct switchdev_deferred_item, list);
> list_del(&dfitem->list);
>+ spin_unlock_bh(&deferred_lock);
> unlock:
> spin_unlock_bh(&deferred_lock);
> return dfitem;
>--
>1.8.3.1