Simon Horman
736561a01f
IPVS: Use global mutex in ip_vs_app.c
...
As part of the work to make IPVS network namespace aware
__ip_vs_app_mutex was replaced by a per-namespace lock,
ipvs->app_mutex. ipvs->app_key is also supplied for debugging purposes.
Unfortunately this implementation results in ipvs->app_key residing
in non-static storage which at the very least causes a lockdep warning.
This patch takes the rather heavy-handed approach of reinstating
__ip_vs_app_mutex which will cover access to the ipvs->list_head
of all network namespaces.
[ 12.610000] IPVS: Creating netns size=2456 id=0
[ 12.630000] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
[ 12.640000] BUG: key ffff880003bbf1a0 not in .data!
[ 12.640000] ------------[ cut here ]------------
[ 12.640000] WARNING: at kernel/lockdep.c:2701 lockdep_init_map+0x37b/0x570()
[ 12.640000] Hardware name: Bochs
[ 12.640000] Pid: 1, comm: swapper Tainted: G W 2.6.38-kexec-06330-g69b7efe-dirty #122
[ 12.650000] Call Trace:
[ 12.650000] [<ffffffff8102e685>] warn_slowpath_common+0x75/0xb0
[ 12.650000] [<ffffffff8102e6d5>] warn_slowpath_null+0x15/0x20
[ 12.650000] [<ffffffff8105967b>] lockdep_init_map+0x37b/0x570
[ 12.650000] [<ffffffff8105829d>] ? trace_hardirqs_on+0xd/0x10
[ 12.650000] [<ffffffff81055ad8>] debug_mutex_init+0x38/0x50
[ 12.650000] [<ffffffff8104bc4c>] __mutex_init+0x5c/0x70
[ 12.650000] [<ffffffff81685ee7>] __ip_vs_app_init+0x64/0x86
[ 12.660000] [<ffffffff81685a3b>] ? ip_vs_init+0x0/0xff
[ 12.660000] [<ffffffff811b1c33>] T.620+0x43/0x170
[ 12.660000] [<ffffffff811b1e9a>] ? register_pernet_subsys+0x1a/0x40
[ 12.660000] [<ffffffff81685a3b>] ? ip_vs_init+0x0/0xff
[ 12.660000] [<ffffffff81685a3b>] ? ip_vs_init+0x0/0xff
[ 12.660000] [<ffffffff811b1db7>] register_pernet_operations+0x57/0xb0
[ 12.660000] [<ffffffff81685a3b>] ? ip_vs_init+0x0/0xff
[ 12.670000] [<ffffffff811b1ea9>] register_pernet_subsys+0x29/0x40
[ 12.670000] [<ffffffff81685f19>] ip_vs_app_init+0x10/0x12
[ 12.670000] [<ffffffff81685a87>] ip_vs_init+0x4c/0xff
[ 12.670000] [<ffffffff8166562c>] do_one_initcall+0x7a/0x12e
[ 12.670000] [<ffffffff8166583e>] kernel_init+0x13e/0x1c2
[ 12.670000] [<ffffffff8128c134>] kernel_thread_helper+0x4/0x10
[ 12.670000] [<ffffffff8128ad40>] ? restore_args+0x0/0x30
[ 12.680000] [<ffffffff81665700>] ? kernel_init+0x0/0x1c2
[ 12.680000] [<ffffffff8128c130>] ? kernel_thread_helper+0x0/0x1global0
Signed-off-by: Simon Horman <horms@verge.net.au>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Julian Anastasov <ja@ssi.bg>
Cc: Hans Schillstrom <hans@schillstrom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-21 20:39:24 -07:00
..
2011-03-15 09:57:38 -05:00
2011-02-27 16:56:41 -03:00
2010-11-15 11:07:16 -08:00
2011-02-17 11:59:56 -08:00
2010-03-30 22:02:32 +09:00
2011-02-19 19:17:35 -08:00
2011-03-15 09:36:50 +09:00
2011-03-09 11:59:32 -08:00
2011-01-19 20:25:45 -08:00
2010-08-20 01:42:59 -07:00
2010-06-11 18:37:08 -07:00
2010-12-02 13:27:33 -08:00
2009-08-12 21:54:50 -07:00
2010-11-29 09:45:15 -08:00
2011-01-13 21:48:25 -08:00
2011-01-10 16:10:37 -08:00
2009-01-21 14:01:59 -08:00
2010-03-30 22:02:32 +09:00
2009-03-24 23:32:03 -07:00
2011-03-11 14:16:58 -05:00
2009-03-28 15:01:36 +11:00
2010-10-07 09:43:45 +02:00
2009-12-11 15:07:56 -08:00
2010-12-31 10:47:46 -08:00
2011-03-02 21:58:55 -08:00
2010-11-08 13:50:08 -08:00
2011-03-12 15:08:55 -08:00
2010-06-03 03:21:52 -07:00
2011-03-12 15:08:55 -08:00
2011-03-12 15:08:55 -08:00
2009-03-21 19:06:54 -07:00
2011-01-26 20:51:05 -08:00
2011-03-02 13:27:41 -08:00
2009-03-27 00:16:21 -07:00
2010-10-27 11:37:32 -07:00
2011-03-12 15:08:55 -08:00
2010-10-25 13:09:44 -07:00
2009-11-04 05:06:25 -08:00
2011-02-03 20:47:08 -08:00
2010-08-21 23:05:39 -07:00
2011-02-04 15:59:53 -08:00
2011-01-28 15:44:29 -05:00
2009-11-06 14:32:18 +03:00
2009-07-23 17:08:51 +04:00
2010-11-24 11:16:42 -08:00
2010-12-02 10:59:22 -08:00
2009-12-08 20:17:51 -08:00
2010-07-12 20:21:46 -07:00
2010-12-19 21:59:35 -08:00
2010-09-23 14:33:39 -07:00
2010-06-30 13:44:29 -07:00
2010-10-21 13:06:43 +02:00
2011-03-01 12:35:02 -08:00
2010-12-09 20:05:58 -08:00
2011-02-10 13:29:30 -08:00
2011-03-12 15:08:54 -08:00
2011-03-12 15:08:54 -08:00
2010-10-25 13:09:45 -07:00
2011-03-12 15:08:47 -08:00
2011-03-21 20:39:24 -07:00
2011-03-01 12:35:03 -08:00
2010-02-16 23:05:38 -08:00
2010-10-27 11:37:32 -07:00
2011-03-12 15:08:54 -08:00
2010-06-03 03:21:52 -07:00
2010-03-31 14:49:12 -04:00
2010-07-26 15:09:04 -04:00
2009-12-26 20:43:57 -08:00
2009-12-26 20:46:28 -08:00
2011-03-11 15:34:10 -05:00
2010-06-03 03:21:52 -07:00
2010-04-23 13:35:55 +09:00
2010-12-02 13:27:33 -08:00
2010-11-19 13:13:47 -08:00
2011-03-15 09:36:50 +09:00
2009-01-06 11:38:15 -07:00
2011-02-08 16:17:55 -08:00
2010-03-30 22:02:32 +09:00
2011-02-01 15:20:14 +01:00
2010-03-30 22:02:32 +09:00
2009-08-19 23:08:22 +04:00
2010-12-21 12:43:16 -08:00
2010-06-02 03:23:51 -07:00
2011-01-24 15:32:47 -08:00
2009-03-21 19:06:50 -07:00
2010-09-08 13:42:22 -07:00
2009-06-23 04:31:07 -07:00
2011-01-12 19:00:39 -08:00
2010-11-22 15:48:51 -05:00
2010-01-17 19:09:39 -08:00
2009-07-26 19:11:14 -07:00
2011-03-12 15:08:54 -08:00
2010-11-27 22:56:08 -08:00
2011-03-03 21:27:42 -08:00
2010-11-24 11:16:43 -08:00
2011-03-21 18:12:54 -07:00
2011-02-22 10:19:31 -08:00
2011-02-20 11:10:14 -08:00
2010-12-01 18:09:13 -08:00
2011-03-12 15:08:54 -08:00
2011-03-01 12:35:03 -08:00
2011-03-01 12:35:03 -08:00
2009-10-07 16:39:43 -04:00
2009-12-09 19:43:33 -08:00
2009-11-06 14:32:24 +03:00
2010-11-28 11:12:20 -08:00
2010-04-22 16:12:36 -07:00
2011-03-21 18:08:28 -07:00