Thread (1 message) 1 message, 1 author, 2016-05-04

Re: [PATCH net-next] tcp: fix lockdep splat in tcp_snd_una_update()

From: Fabio Estevam <hidden>
Date: 2016-05-04 01:26:50
Also in: linux-nfs

On Tue, May 3, 2016 at 8:56 PM, Eric Dumazet [off-list ref] wrote:
From: Eric Dumazet <redacted>

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 <redacted>
Diagnosed-by: Francois Romieu [off-list ref]
Signed-off-by: Eric Dumazet <redacted>
Thanks for the fix, Eric and Francois! This allows me to do NFS boot again:

Tested-by: Fabio Estevam <redacted>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help