diff options
| author | Eric Dumazet <[email protected]> | 2016-05-03 16:56:03 -0700 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2016-05-04 16:55:11 -0400 |
| commit | 46cc6e4976e3d9058490f20d93bc7805f7f2d81e (patch) | |
| tree | 5856b8bab06927f7fc934b7f07a272f5ae680d9c /scripts/gdb/linux/tasks.py | |
| parent | 5332174a83720921a5ef6db8080a8691f7ccbc27 (diff) | |
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: c10d9310edf5 ("tcp: do not assume TCP code is non preemptible")
Reported-by: Fabio Estevam <[email protected]>
Diagnosed-by: Francois Romieu <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Tested-by: Fabio Estevam <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/tasks.py')
0 files changed, 0 insertions, 0 deletions