Files
linux/include/net
Eric Dumazet 46cc6e4976 tcp: fix lockdep splat in tcp_snd_una_update()
tcp_snd_una_update() and tcp_rcv_nxt_update() call
u64_stats_update_begin() either from process context or BH handler.

This triggers a lockdep splat on 32bit & SMP builds.

We could add u64_stats_update_begin_bh() variant but this would
slow down 32bit builds with useless local_disable_bh() and
local_enable_bh() pairs, since we own the socket lock at this point.

I add sock_owned_by_me() helper to have proper lockdep support
even on 64bit builds, and new u64_stats_update_begin_raw()
and u64_stats_update_end_raw methods.

Fixes: c10d9310ed ("tcp: do not assume TCP code is non preemptible")
Reported-by: Fabio Estevam <festevam@gmail.com>
Diagnosed-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-05-04 16:55:11 -04:00
..
2016-04-13 10:41:10 +02:00
2014-09-18 10:54:36 +02:00
2015-03-04 00:23:23 -05:00
2015-06-28 16:55:44 -07:00
2016-03-18 23:14:15 -04:00
2015-11-18 16:17:38 -05:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2015-03-06 21:50:02 -05:00
2015-09-17 17:18:37 -07:00
2016-02-16 20:21:48 -05:00
2013-11-07 19:28:58 -05:00
2016-04-28 17:03:38 -04:00
2016-04-25 16:45:53 -04:00
2016-04-27 22:48:25 -04:00
2016-05-02 19:23:32 -04:00
2016-04-27 22:48:25 -04:00
2016-05-03 16:08:14 -04:00
2016-03-10 14:42:03 -05:00
2014-01-03 20:56:48 -05:00
2016-02-21 22:00:28 -05:00
2015-10-23 06:26:42 -07:00
2016-03-23 22:09:58 -04:00
2016-03-11 12:04:37 -05:00
2016-04-07 16:53:30 -04:00
2014-06-02 11:00:41 -07:00
2015-03-12 22:58:12 -04:00
2016-04-28 16:14:18 -04:00
2016-05-03 16:08:14 -04:00
2015-10-26 22:24:22 -07:00
2016-04-27 22:48:25 -04:00
2016-04-27 22:48:23 -04:00