Four layers using TCP stack were assuming sk_callback_lock could be locked using read_lock() in their handlers because TCP stack was running with BH disabled.
This is no longer the case. Since presumably the rest could also depend on BH being disabled, just use read_lock_bh(). Then each layer might consider switching to RCU protection and no longer depend on BH. Eric Dumazet (4): scsi_tcp: block BH in TCP callbacks ocfs2/cluster: block BH in TCP callbacks rds: tcp: block BH in TCP callbacks tipc: block BH in TCP callbacks drivers/scsi/iscsi_tcp.c | 12 ++++++------ fs/ocfs2/cluster/tcp.c | 17 +++++++++-------- net/rds/tcp_connect.c | 4 ++-- net/rds/tcp_listen.c | 4 ++-- net/rds/tcp_recv.c | 4 ++-- net/rds/tcp_send.c | 4 ++-- net/tipc/server.c | 8 ++++---- 7 files changed, 27 insertions(+), 26 deletions(-) -- 2.8.0.rc3.226.g39d4020