linux-uconsole/net/core
David S. Miller f342cb14f5 net: Limit socket I/O iovec total length to INT_MAX.
commit 8acfe468b0 upstream.

This helps protect us from overflow issues down in the
individual protocol sendmsg/recvmsg handlers.  Once
we hit INT_MAX we truncate out the rest of the iovec
by setting the iov_len members to zero.

This works because:

1) For SOCK_STREAM and SOCK_SEQPACKET sockets, partial
   writes are allowed and the application will just continue
   with another write to send the rest of the data.

2) For datagram oriented sockets, where there must be a
   one-to-one correspondance between write() calls and
   packets on the wire, INT_MAX is going to be far larger
   than the packet size limit the protocol is going to
   check for and signal with -EMSGSIZE.

Based upon a patch by Linus Torvalds.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:13 -08:00
..
datagram.c net: fix sk_forward_alloc corruption 2009-10-30 12:25:12 -07:00
dev.c net: NETIF_F_HW_CSUM does not imply FCoE CRC offload 2010-12-09 13:26:44 -08:00
dev_mcast.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
drop_monitor.c net: drop_monitor: make last_rx timestamp private 2009-09-02 14:37:45 -07:00
dst.c dst: call cond_resched() in dst_gc_task() 2010-02-23 07:37:55 -08:00
ethtool.c net: clear heap allocation for ETHTOOL_GRXCLSRLALL 2010-12-09 13:26:34 -08:00
fib_rules.c net: Remove unused parameter from fill method in fib_rules_ops. 2009-05-20 17:26:23 -07:00
filter.c filter: add SKF_AD_NLATTR_NEST to look for nested attributes 2008-11-20 00:49:27 -08:00
flow.c netns xfrm: lookup in netns 2008-11-25 17:35:18 -08:00
gen_estimator.c net: restore gnet_stats_basic to previous definition 2009-08-17 21:33:49 -07:00
gen_stats.c net: restore gnet_stats_basic to previous definition 2009-08-17 21:33:49 -07:00
iovec.c net: Limit socket I/O iovec total length to INT_MAX. 2010-12-09 13:27:13 -08:00
kmap_skb.h
link_watch.c Revert "net: Fix for initial link state in 2.6.28" 2009-01-05 16:01:51 -08:00
Makefile Network Drop Monitor: Adding Build changes to enable drop monitor 2009-03-13 12:09:29 -07:00
neighbour.c net/core: neighbour update Oops 2010-08-02 10:20:53 -07:00
net-sysfs.c net-sysfs: Use rtnl_trylock in wireless sysfs methods. 2010-03-15 08:49:38 -07:00
net-sysfs.h netns: Fix device renaming for sysfs 2008-05-02 17:00:58 -07:00
net-traces.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
net_namespace.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
netevent.c [NET]: net/core/netevent.c should #include <net/netevent.h> 2007-07-05 17:40:27 -07:00
netpoll.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-02 00:32:56 -07:00
pktgen.c pktgen: Fix freezing problem 2010-02-23 07:37:56 -08:00
request_sock.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
rtnetlink.c net: Fix userspace RTM_NEWLINK notifications. 2009-12-18 14:05:38 -08:00
scm.c scm: Only support SCM_RIGHTS on unix domain sockets. 2010-03-15 08:49:58 -07:00
skb_dma_map.c net: skb_shared_info optimization 2009-06-08 00:21:48 -07:00
skbuff.c gro: Fix bogus gso_size on the first fraglist entry 2010-09-26 17:21:37 -07:00
sock.c tcp: update the netstamp_needed counter when cloning sockets 2010-02-09 04:50:55 -08:00
stream.c net: Fix the condition passed to sk_wait_event() 2010-10-28 21:44:07 -07:00
sysctl_net_core.c sysctl: fix sparse warning: Should it be static? 2009-02-26 23:13:34 -08:00
user_dma.c net/core/user_dma.c: Use frag list abstraction interfaces. 2009-06-09 00:19:10 -07:00
utils.c net: core: remove unneeded include in net/core/utils.c. 2009-03-26 01:11:48 -07:00