android_kernel_samsung_msm8976/net/core
Octavian Purdila 293ad60401 tcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits.
skb_splice_bits temporary drops the socket lock while iterating over
the socket queue in order to break a reverse locking condition which
happens with sendfile. This, however, opens a window of opportunity
for tcp_collapse() to aggregate skbs and thus potentially free the
current skb used in skb_splice_bits and tcp_read_sock.

This patch fixes the problem by (re-)getting the same "logical skb"
after the lock has been temporary dropped.

Based on idea and initial patch from Evgeniy Polyakov.

Signed-off-by: Octavian Purdila <opurdila@ixiacom.com>
Acked-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-06-04 15:45:58 -07:00
..
datagram.c
dev.c net: Fix call to ->change_rx_flags(dev, IFF_MULTICAST) in dev_change_flags() 2008-05-20 14:36:14 -07:00
dev_mcast.c
dst.c
ethtool.c
fib_rules.c
filter.c net: use get/put_unaligned_* helpers 2008-05-02 16:26:16 -07:00
flow.c
gen_estimator.c
gen_stats.c
iovec.c
kmap_skb.h
link_watch.c
Makefile
neighbour.c netlink: Improve returned error codes 2008-06-03 16:36:54 -07:00
net-sysfs.c netns: Fix device renaming for sysfs 2008-05-02 17:00:58 -07:00
net-sysfs.h netns: Fix device renaming for sysfs 2008-05-02 17:00:58 -07:00
net_namespace.c
netevent.c
netpoll.c net: Allow netdevices to specify needed head/tailroom 2008-05-12 20:48:31 -07:00
pktgen.c pktgen: make sure that pktgen_thread_worker has been executed 2008-05-20 15:12:44 -07:00
request_sock.c
rtnetlink.c netlink: Improve returned error codes 2008-06-03 16:36:54 -07:00
scm.c
skbuff.c tcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits. 2008-06-04 15:45:58 -07:00
sock.c net: Fix typo in net/core/sock.c. 2008-05-14 03:50:03 -07:00
stream.c
sysctl_net_core.c
user_dma.c net_dma: remove duplicate assignment in dma_skb_copy_datagram_iovec 2008-06-03 16:07:45 -07:00
utils.c