linux-stable/net/netfilter/ipvs
John Stultz 827da44c61 net: Explicitly initialize u64_stats_sync structures for lockdep
In order to enable lockdep on seqcount/seqlock structures, we
must explicitly initialize any locks.

The u64_stats_sync structure, uses a seqcount, and thus we need
to introduce a u64_stats_init() function and use it to initialize
the structure.

This unfortunately adds a lot of fairly trivial initialization code
to a number of drivers. But the benefit of ensuring correctness makes
this worth while.

Because these changes are required for lockdep to be enabled, and the
changes are quite trivial, I've not yet split this patch out into 30-some
separate patches, as I figured it would be better to get the various
maintainers thoughts on how to best merge this change along with
the seqcount lockdep enablement.

Feedback would be appreciated!

Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: James Morris <jmorris@namei.org>
Cc: Jesse Gross <jesse@nicira.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Mirko Lindner <mlindner@marvell.com>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Roger Luethi <rl@hellgate.ch>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Simon Horman <horms@verge.net.au>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Wensong Zhang <wensong@linux-vs.org>
Cc: netdev@vger.kernel.org
Link: http://lkml.kernel.org/r/1381186321-4906-2-git-send-email-john.stultz@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-11-06 12:40:25 +01:00
..
ip_vs_app.c ipvs: do not disable bh for long time 2013-04-02 00:23:58 +02:00
ip_vs_conn.c ipvs: drop SCTP connections depending on state 2013-06-26 18:01:46 +09:00
ip_vs_core.c ipvs: make the service replacement more robust 2013-09-18 14:39:03 -05:00
ip_vs_ctl.c net: Explicitly initialize u64_stats_sync structures for lockdep 2013-11-06 12:40:25 +01:00
ip_vs_dh.c ipvs: provide iph to schedulers 2013-06-26 18:01:45 +09:00
ip_vs_est.c ipvs: stats should not depend on CPU 0 2013-09-18 14:40:20 -05:00
ip_vs_ftp.c ipvs: do not disable bh for long time 2013-04-02 00:23:58 +02:00
ip_vs_lblc.c ipvs: do not use dest after ip_vs_dest_put in LBLC 2013-09-18 14:39:09 -05:00
ip_vs_lblcr.c ipvs: do not use dest after ip_vs_dest_put in LBLCR 2013-09-18 14:39:39 -05:00
ip_vs_lc.c ipvs: provide iph to schedulers 2013-06-26 18:01:45 +09:00
ip_vs_nfct.c ipvs: remove silly double assignment 2012-10-28 22:50:51 +01:00
ip_vs_nq.c ipvs: fix overflow on dest weight multiply 2013-09-18 14:38:53 -05:00
ip_vs_pe.c ipvs: convert services to rcu 2013-04-02 00:23:58 +02:00
ip_vs_pe_sip.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-30 03:55:20 -04:00
ip_vs_proto.c ipvs: Trivial changes, use compressed IPv6 address in output 2012-09-28 11:33:52 +09:00
ip_vs_proto_ah_esp.c ipvs: API change to avoid rescan of IPv6 exthdr 2012-09-28 11:34:33 +09:00
ip_vs_proto_sctp.c net/sctp: Refactor SCTP skb checksum computation 2013-07-27 20:07:15 -07:00
ip_vs_proto_tcp.c ipvs: sloppy TCP and SCTP 2013-06-26 18:01:46 +09:00
ip_vs_proto_udp.c ipvs: convert services to rcu 2013-04-02 00:23:58 +02:00
ip_vs_rr.c ipvs: provide iph to schedulers 2013-06-26 18:01:45 +09:00
ip_vs_sched.c ipvs: convert services to rcu 2013-04-02 00:23:58 +02:00
ip_vs_sed.c ipvs: fix overflow on dest weight multiply 2013-09-18 14:38:53 -05:00
ip_vs_sh.c ipvs: ip_vs_sh: ip_vs_sh_get_port: check skb_header_pointer for NULL 2013-08-07 08:57:57 +09:00
ip_vs_sync.c sched/wait: Make the __wait_event*() interface more friendly 2013-10-04 10:16:25 +02:00
ip_vs_wlc.c ipvs: fix overflow on dest weight multiply 2013-09-18 14:38:53 -05:00
ip_vs_wrr.c ipvs: provide iph to schedulers 2013-06-26 18:01:45 +09:00
ip_vs_xmit.c ip: generate unique IP identificator if local fragmentation is allowed 2013-09-19 14:11:15 -04:00
Kconfig ipvs: Complete IPv6 fragment handling for IPVS 2012-09-28 11:34:24 +09:00
Makefile IPVS: sip persistence engine 2010-10-04 22:45:24 +09:00