android_kernel_samsung_univ.../net/ipv4
Eric Dumazet 918eb39962 net: add missing bh_unlock_sock() calls
Simon Kirby reported lockdep warnings and following messages :

[104661.897577] huh, entered softirq 3 NET_RX ffffffff81613740
preempt_count 00000101, exited with 00000102?

[104661.923653] huh, entered softirq 3 NET_RX ffffffff81613740
preempt_count 00000101, exited with 00000102?

Problem comes from commit 0e734419
(ipv4: Use inet_csk_route_child_sock() in DCCP and TCP.)

If inet_csk_route_child_sock() returns NULL, we should release socket
lock before freeing it.

Another lock imbalance exists if __inet_inherit_port() returns an error
since commit 093d282321 ( tproxy: fix hash locking issue when using
port redirection in __inet_inherit_port()) a backport is also needed for
>= 2.6.37 kernels.

Reported-by: Simon Kirby <sim@hostway.ca>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Balazs Scheidler <bazsi@balabit.hu>
CC: KOVACS Krisztian <hidden@balabit.hu>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Simon Kirby <sim@hostway.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-11-03 18:06:18 -04:00
..
netfilter netfilter: Remove unnecessary OOM logging messages 2011-11-01 09:19:49 +01:00
af_inet.c ipv4: compat_ioctl is local to af_inet.c, make it static 2011-10-19 19:24:39 -04:00
ah4.c
arp.c
cipso_ipv4.c cipso: remove an unneeded NULL check in cipso_v4_doi_add() 2011-10-11 18:43:53 -04:00
datagram.c
devinet.c
esp4.c
fib_frontend.c
fib_lookup.h
fib_rules.c
fib_semantics.c
fib_trie.c
gre.c
icmp.c net: more accurate skb truesize 2011-10-13 16:05:07 -04:00
igmp.c
inet_connection_sock.c
inet_diag.c net-netlink: Add a new attribute to expose TOS values via netlink 2011-10-12 19:09:18 -04:00
inet_fragment.c
inet_hashtables.c
inet_lro.c net: add skb frag size accessors 2011-10-19 03:10:46 -04:00
inet_timewait_sock.c ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT 2011-10-24 03:06:21 -04:00
inetpeer.c
ip_forward.c
ip_fragment.c net: add skb frag size accessors 2011-10-19 03:10:46 -04:00
ip_gre.c ip_gre: dont increase dev->needed_headroom on a live device 2011-10-20 16:20:30 -04:00
ip_input.c
ip_options.c
ip_output.c ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT 2011-10-24 03:06:21 -04:00
ip_sockglue.c net: use INET_ECN_MASK instead of hardcoded 3 2011-10-22 00:07:47 -04:00
ipcomp.c
ipconfig.c
ipip.c
ipmr.c
Kconfig
Makefile
netfilter.c
ping.c
proc.c
protocol.c
raw.c
route.c ipv4: avoid useless call of the function check_peer_pmtu 2011-10-24 18:30:07 -04:00
syncookies.c tcp: add const qualifiers where possible 2011-10-21 05:22:42 -04:00
sysctl_net_ipv4.c
tcp_bic.c
tcp_cong.c
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c tcp: add const qualifiers where possible 2011-10-21 05:22:42 -04:00
tcp_ipv4.c net: add missing bh_unlock_sock() calls 2011-11-03 18:06:18 -04:00
tcp_lp.c
tcp_minisocks.c ipv6: tcp: fix TCLASS value in ACK messages sent from TIME_WAIT 2011-10-27 00:44:35 -04:00
tcp_output.c tcp: add const qualifiers where possible 2011-10-21 05:22:42 -04:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c TCP: remove TCP_DEBUG 2011-10-24 17:36:08 -04:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tcp.c TCP: remove TCP_DEBUG 2011-10-24 17:36:08 -04:00
tunnel4.c
udp_impl.h
udp.c udp: fix a race in encap_rcv handling 2011-11-02 00:51:27 -04:00
udplite.c net: make the tcp and udp file_operations for the /proc stuff const 2011-11-01 17:56:14 -04:00
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c ipv4: fix ipsec forward performance regression 2011-10-24 03:01:22 -04:00
xfrm4_state.c
xfrm4_tunnel.c