lkml.org 
[lkml]   [2008]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH][2.6.25-rc2] Fix double lock in do_setlink introduced by 45b503548210fe6f23e92b856421c2a3f05fd034
Date
[   58.097923] =============================================
[ 58.098883] [ INFO: possible recursive locking detected ]
[ 58.099603] 2.6.25-rc2-1avb #1
[ 58.100013] ---------------------------------------------
[ 58.100672] wpa_supplicant/2682 is trying to acquire lock:
[ 58.100672] (dev_base_lock){-.--}, at: [<c0278697>] do_setlink+0x327/0x3
[ 58.100672]
[ 58.100672] but task is already holding lock:
[ 58.100672] (dev_base_lock){-.--}, at: [<c0278680>] do_setlink+0x310/0x3

with final effect

[ 58.537509] Kernel panic - not syncing: Aiee, killing interrupt handler!

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>

---

net/core/rtnetlink.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index ecb02af..dd9e4da 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -853,7 +853,7 @@ static int do_setlink(struct net_device *dev, struct ifinfomsg *ifm,
if (dev->link_mode != nla_get_u8(tb[IFLA_LINKMODE])) {
write_lock_bh(&dev_base_lock);
dev->link_mode = nla_get_u8(tb[IFLA_LINKMODE]);
- write_lock_bh(&dev_base_lock);
+ write_unlock_bh(&dev_base_lock);
modified = 1;
}
}[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2008-02-17 01:01    [W:0.032 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site