| From 6943573977b22439184bc6ef0c9095446a223533 Mon Sep 17 00:00:00 2001 |
| From: Gao feng <gaofeng@cn.fujitsu.com> |
| Date: Tue, 11 Oct 2011 16:08:11 +0000 |
| Subject: netconsole: enable netconsole can make net_device refcnt incorrent |
| |
| |
| From: Gao feng <gaofeng@cn.fujitsu.com> |
| |
| [ Upstream commit d5123480b1d6f7d1a5fe1a13520cef88fb5d4c84 ] |
| |
| There is no check if netconsole is enabled current. |
| so when exec echo 1 > enabled; |
| the reference of net_device will increment always. |
| |
| Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> |
| Acked-by: Flavio Leitner <fbl@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| --- |
| drivers/net/netconsole.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/drivers/net/netconsole.c |
| +++ b/drivers/net/netconsole.c |
| @@ -307,6 +307,11 @@ static ssize_t store_enabled(struct netc |
| return err; |
| if (enabled < 0 || enabled > 1) |
| return -EINVAL; |
| + if (enabled == nt->enabled) { |
| + printk(KERN_INFO "netconsole: network logging has already %s\n", |
| + nt->enabled ? "started" : "stopped"); |
| + return -EINVAL; |
| + } |
| |
| if (enabled) { /* 1 */ |
| |