* [PATCH] dccp: missing destroy of percpu counter variable while unload
@ 2009-08-05 7:44 ` Wei Yongjun
0 siblings, 0 replies; 8+ messages in thread
From: Wei Yongjun @ 2009-08-05 7:44 UTC (permalink / raw)
To: dccp
percpu counter dccp_orphan_count is init in dccp_init() by
percpu_counter_init() while dccp module is loaded, but the
destroy of it is missing while dccp module is unloaded. We
can get the kernel WARNING about this. Reproduct by the
following commands:
$ modprobe dccp
$ rmmod dccp
$ modprobe dccp
WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
Hardware name: VMware Virtual Platform
list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
Ê7188cc).
Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
Call Trace:
[<c042f8fa>] warn_slowpath_common+0x6a/0x81
[<c053a6cb>] ? __list_add+0x27/0x5c
[<c042f94f>] warn_slowpath_fmt+0x29/0x2c
[<c053a6cb>] __list_add+0x27/0x5c
[<c053c9b3>] __percpu_counter_init+0x4d/0x5d
[<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
[<c0401141>] do_one_initcall+0x4f/0x111
[<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
[<c06971b5>] ? notifier_call_chain+0x26/0x48
[<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
[<c04516f7>] sys_init_module+0xac/0x1bd
[<c04028e4>] sysenter_do_call+0x12/0x22
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
---
net/dccp/proto.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/net/dccp/proto.c b/net/dccp/proto.c
index 3281013..1bca920 100644
--- a/net/dccp/proto.c
+++ b/net/dccp/proto.c
@@ -1159,6 +1159,7 @@ static void __exit dccp_fini(void)
kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep);
dccp_ackvec_exit();
dccp_sysctl_exit();
+ percpu_counter_destroy(&dccp_orphan_count);
}
module_init(dccp_init);
--
1.6.2.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] dccp: missing destroy of percpu counter variable while unload module
@ 2009-08-05 7:44 ` Wei Yongjun
0 siblings, 0 replies; 8+ messages in thread
From: Wei Yongjun @ 2009-08-05 7:44 UTC (permalink / raw)
To: David Miller, Gerrit Renker; +Cc: dccp, Netdev
percpu counter dccp_orphan_count is init in dccp_init() by
percpu_counter_init() while dccp module is loaded, but the
destroy of it is missing while dccp module is unloaded. We
can get the kernel WARNING about this. Reproduct by the
following commands:
$ modprobe dccp
$ rmmod dccp
$ modprobe dccp
WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
Hardware name: VMware Virtual Platform
list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
=ca7188cc).
Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
Call Trace:
[<c042f8fa>] warn_slowpath_common+0x6a/0x81
[<c053a6cb>] ? __list_add+0x27/0x5c
[<c042f94f>] warn_slowpath_fmt+0x29/0x2c
[<c053a6cb>] __list_add+0x27/0x5c
[<c053c9b3>] __percpu_counter_init+0x4d/0x5d
[<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
[<c0401141>] do_one_initcall+0x4f/0x111
[<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
[<c06971b5>] ? notifier_call_chain+0x26/0x48
[<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
[<c04516f7>] sys_init_module+0xac/0x1bd
[<c04028e4>] sysenter_do_call+0x12/0x22
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
---
net/dccp/proto.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/net/dccp/proto.c b/net/dccp/proto.c
index 3281013..1bca920 100644
--- a/net/dccp/proto.c
+++ b/net/dccp/proto.c
@@ -1159,6 +1159,7 @@ static void __exit dccp_fini(void)
kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep);
dccp_ackvec_exit();
dccp_sysctl_exit();
+ percpu_counter_destroy(&dccp_orphan_count);
}
module_init(dccp_init);
--
1.6.2.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] dccp: missing destroy of percpu counter variable while
2009-08-05 7:44 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module Wei Yongjun
@ 2009-08-05 7:59 ` Eric Dumazet
-1 siblings, 0 replies; 8+ messages in thread
From: Eric Dumazet @ 2009-08-05 7:59 UTC (permalink / raw)
To: dccp
Wei Yongjun a ¨¦crit :
> percpu counter dccp_orphan_count is init in dccp_init() by
> percpu_counter_init() while dccp module is loaded, but the
> destroy of it is missing while dccp module is unloaded. We
> can get the kernel WARNING about this. Reproduct by the
> following commands:
>
> $ modprobe dccp
> $ rmmod dccp
> $ modprobe dccp
>
> WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
> Hardware name: VMware Virtual Platform
> list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
> Ê7188cc).
> Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
> Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
> Call Trace:
> [<c042f8fa>] warn_slowpath_common+0x6a/0x81
> [<c053a6cb>] ? __list_add+0x27/0x5c
> [<c042f94f>] warn_slowpath_fmt+0x29/0x2c
> [<c053a6cb>] __list_add+0x27/0x5c
> [<c053c9b3>] __percpu_counter_init+0x4d/0x5d
> [<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
> [<c0401141>] do_one_initcall+0x4f/0x111
> [<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
> [<c06971b5>] ? notifier_call_chain+0x26/0x48
> [<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
> [<c04516f7>] sys_init_module+0xac/0x1bd
> [<c04028e4>] sysenter_do_call+0x12/0x22
>
> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
> ---
> net/dccp/proto.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/net/dccp/proto.c b/net/dccp/proto.c
> index 3281013..1bca920 100644
> --- a/net/dccp/proto.c
> +++ b/net/dccp/proto.c
> @@ -1159,6 +1159,7 @@ static void __exit dccp_fini(void)
> kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep);
> dccp_ackvec_exit();
> dccp_sysctl_exit();
> + percpu_counter_destroy(&dccp_orphan_count);
> }
>
> module_init(dccp_init);
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
This was added by commit dd24c001 (net: Use a percpu_counter for orphan_count)
(Tue Nov 25 21:17:14 2008), so this could be a stable candidate (2.6.29 & 2.6.30)
Thanks Wei
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dccp: missing destroy of percpu counter variable while unload module
@ 2009-08-05 7:59 ` Eric Dumazet
0 siblings, 0 replies; 8+ messages in thread
From: Eric Dumazet @ 2009-08-05 7:59 UTC (permalink / raw)
To: Wei Yongjun; +Cc: David Miller, Gerrit Renker, dccp, Netdev
Wei Yongjun a écrit :
> percpu counter dccp_orphan_count is init in dccp_init() by
> percpu_counter_init() while dccp module is loaded, but the
> destroy of it is missing while dccp module is unloaded. We
> can get the kernel WARNING about this. Reproduct by the
> following commands:
>
> $ modprobe dccp
> $ rmmod dccp
> $ modprobe dccp
>
> WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
> Hardware name: VMware Virtual Platform
> list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
> =ca7188cc).
> Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
> Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
> Call Trace:
> [<c042f8fa>] warn_slowpath_common+0x6a/0x81
> [<c053a6cb>] ? __list_add+0x27/0x5c
> [<c042f94f>] warn_slowpath_fmt+0x29/0x2c
> [<c053a6cb>] __list_add+0x27/0x5c
> [<c053c9b3>] __percpu_counter_init+0x4d/0x5d
> [<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
> [<c0401141>] do_one_initcall+0x4f/0x111
> [<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
> [<c06971b5>] ? notifier_call_chain+0x26/0x48
> [<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
> [<c04516f7>] sys_init_module+0xac/0x1bd
> [<c04028e4>] sysenter_do_call+0x12/0x22
>
> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
> ---
> net/dccp/proto.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/net/dccp/proto.c b/net/dccp/proto.c
> index 3281013..1bca920 100644
> --- a/net/dccp/proto.c
> +++ b/net/dccp/proto.c
> @@ -1159,6 +1159,7 @@ static void __exit dccp_fini(void)
> kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep);
> dccp_ackvec_exit();
> dccp_sysctl_exit();
> + percpu_counter_destroy(&dccp_orphan_count);
> }
>
> module_init(dccp_init);
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
This was added by commit dd24c001 (net: Use a percpu_counter for orphan_count)
(Tue Nov 25 21:17:14 2008), so this could be a stable candidate (2.6.29 & 2.6.30)
Thanks Wei
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dccp: missing destroy of percpu counter variable while
2009-08-05 7:59 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module Eric Dumazet
@ 2009-08-05 17:22 ` David Miller
-1 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2009-08-05 17:22 UTC (permalink / raw)
To: dccp
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1254", Size: 549 bytes --]
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 05 Aug 2009 09:59:36 +0200
> Wei Yongjun a ¨¦crit :
>> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
...
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
>
> This was added by commit dd24c001 (net: Use a percpu_counter for orphan_count)
> (Tue Nov 25 21:17:14 2008), so this could be a stable candidate (2.6.29 & 2.6.30)
Applied and queued up for -stable, thanks.
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·qÊÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH] dccp: missing destroy of percpu counter variable while unload module
@ 2009-08-05 17:22 ` David Miller
0 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2009-08-05 17:22 UTC (permalink / raw)
To: eric.dumazet; +Cc: yjwei, gerrit, dccp, netdev
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 05 Aug 2009 09:59:36 +0200
> Wei Yongjun a écrit :
>> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
...
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
>
> This was added by commit dd24c001 (net: Use a percpu_counter for orphan_count)
> (Tue Nov 25 21:17:14 2008), so this could be a stable candidate (2.6.29 & 2.6.30)
Applied and queued up for -stable, thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dccp: missing destroy of percpu counter variable while
2009-08-05 7:59 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module Eric Dumazet
@ 2009-08-05 20:18 ` Gerrit Renker
-1 siblings, 0 replies; 8+ messages in thread
From: Gerrit Renker @ 2009-08-05 20:18 UTC (permalink / raw)
To: dccp
| > WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
| > Hardware name: VMware Virtual Platform
| > list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
| > 7188cc).
| > Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
| > Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
| > Call Trace:
| > [<c042f8fa>] warn_slowpath_common+0x6a/0x81
| > [<c053a6cb>] ? __list_add+0x27/0x5c
| > [<c042f94f>] warn_slowpath_fmt+0x29/0x2c
| > [<c053a6cb>] __list_add+0x27/0x5c
| > [<c053c9b3>] __percpu_counter_init+0x4d/0x5d
| > [<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
| > [<c0401141>] do_one_initcall+0x4f/0x111
| > [<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
| > [<c06971b5>] ? notifier_call_chain+0x26/0x48
| > [<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
| > [<c04516f7>] sys_init_module+0xac/0x1bd
| > [<c04028e4>] sysenter_do_call+0x12/0x22
| >
| > Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
| > ---
Thanks a lot -- I have added this to the test-tree (which is still
2.6.31-rc1), until the patch is in net-2.6,
http://eden-feed.erg.abdn.ac.uk/cgi-bin/gitweb.cgi?p‹cp_exp.git;a=shortlog;h‹cp
git://eden-feed.erg.abdn.ac.uk/dccp_exp [subtree dccp]
I am wondering whether there is a relationship with
http://bugzilla.kernel.org/show_bug.cgi?id\x13692
and am cc:ing Alex Dubov, who reported it.
--
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dccp: missing destroy of percpu counter variable while unload module
@ 2009-08-05 20:18 ` Gerrit Renker
0 siblings, 0 replies; 8+ messages in thread
From: Gerrit Renker @ 2009-08-05 20:18 UTC (permalink / raw)
To: Wei Yongjun; +Cc: dccp, Netdev, oakad
| > WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
| > Hardware name: VMware Virtual Platform
| > list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
| > =ca7188cc).
| > Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
| > Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
| > Call Trace:
| > [<c042f8fa>] warn_slowpath_common+0x6a/0x81
| > [<c053a6cb>] ? __list_add+0x27/0x5c
| > [<c042f94f>] warn_slowpath_fmt+0x29/0x2c
| > [<c053a6cb>] __list_add+0x27/0x5c
| > [<c053c9b3>] __percpu_counter_init+0x4d/0x5d
| > [<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
| > [<c0401141>] do_one_initcall+0x4f/0x111
| > [<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
| > [<c06971b5>] ? notifier_call_chain+0x26/0x48
| > [<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
| > [<c04516f7>] sys_init_module+0xac/0x1bd
| > [<c04028e4>] sysenter_do_call+0x12/0x22
| >
| > Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
| > ---
Thanks a lot -- I have added this to the test-tree (which is still
2.6.31-rc1), until the patch is in net-2.6,
http://eden-feed.erg.abdn.ac.uk/cgi-bin/gitweb.cgi?p=dccp_exp.git;a=shortlog;h=dccp
git://eden-feed.erg.abdn.ac.uk/dccp_exp [subtree dccp]
I am wondering whether there is a relationship with
http://bugzilla.kernel.org/show_bug.cgi?id=13692
and am cc:ing Alex Dubov, who reported it.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-08-05 20:18 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-05 7:44 [PATCH] dccp: missing destroy of percpu counter variable while unload Wei Yongjun
2009-08-05 7:44 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module Wei Yongjun
2009-08-05 7:59 ` [PATCH] dccp: missing destroy of percpu counter variable while Eric Dumazet
2009-08-05 7:59 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module Eric Dumazet
2009-08-05 17:22 ` [PATCH] dccp: missing destroy of percpu counter variable while David Miller
2009-08-05 17:22 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module David Miller
2009-08-05 20:18 ` [PATCH] dccp: missing destroy of percpu counter variable while Gerrit Renker
2009-08-05 20:18 ` [PATCH] dccp: missing destroy of percpu counter variable while unload module Gerrit Renker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.