Patchwork netconsole: remove a redundant netconsole_target_put()

login
register
mail settings
Submitter Amerigo Wang
Date Aug. 18, 2012, 5:02 p.m.
Message ID <1345309340-15499-1-git-send-email-amwang@redhat.com>
Download mbox | patch
Permalink /patch/178471/
State Accepted
Delegated to: David Miller
Headers show

Comments

Amerigo Wang - Aug. 18, 2012, 5:02 p.m.
This netconsole_target_put() is obviously redundant, and it
causes a kernel segfault when removing a bridge device which has
netconsole running on it.

This is caused by:

	commit 8d8fc29d02a33e4bd5f4fa47823c1fd386346093
	Author: Amerigo Wang <amwang@redhat.com>
	Date:   Thu May 19 21:39:10 2011 +0000

	    netpoll: disable netpoll when enslave a device

Cc: David Miller <davem@davemloft.net>
 (for all 3.x stable releases)
Cc: stable@vger.kernel.org
Signed-off-by: Cong Wang <amwang@redhat.com>

---
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Aug. 20, 2012, 10 a.m.
From: Cong Wang <amwang@redhat.com>
Date: Sun, 19 Aug 2012 01:02:20 +0800

> This netconsole_target_put() is obviously redundant, and it
> causes a kernel segfault when removing a bridge device which has
> netconsole running on it.
> 
> This is caused by:
> 
> 	commit 8d8fc29d02a33e4bd5f4fa47823c1fd386346093
> 	Author: Amerigo Wang <amwang@redhat.com>
> 	Date:   Thu May 19 21:39:10 2011 +0000
> 
> 	    netpoll: disable netpoll when enslave a device
> 
> Cc: David Miller <davem@davemloft.net>
>  (for all 3.x stable releases)
> Cc: stable@vger.kernel.org
> Signed-off-by: Cong Wang <amwang@redhat.com>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index f0ad56c..b332112 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -643,7 +643,6 @@  static int netconsole_netdev_event(struct notifier_block *this,
 					__netpoll_cleanup(&nt->np);
 					dev_put(nt->np.dev);
 					nt->np.dev = NULL;
-					netconsole_target_put(nt);
 				}
 				nt->enabled = 0;
 				stopped = true;