David S. Miller
01db403cf9
tcp: Fix >4GB writes on 64-bit.
...
Fixes kernel bugzilla #16603
tcp_sendmsg() truncates iov_len to an 'int' which a 4GB write to write
zero bytes, for example.
There is also the problem higher up of how verify_iovec() works. It
wants to prevent the total length from looking like an error return
value.
However it does this using 'int', but syscalls return 'long' (and
thus signed 64-bit on 64-bit machines). So it could trigger
false-positives on 64-bit as written. So fix it to use 'long'.
Reported-by: Olaf Bonorden <bono@onlinehome.de>
Reported-by: Daniel Büse <dbuese@gmx.de>
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-09-27 20:24:54 -07:00
..
2010-09-22 13:13:34 -07:00
2010-07-12 20:21:46 -07:00
2010-03-30 22:02:32 +09:00
2010-07-12 12:57:54 -07:00
2010-05-17 23:23:14 -07:00
2010-09-08 21:45:01 -07:00
2010-05-31 00:27:44 -07:00
2010-02-22 16:20:22 -08:00
2010-09-07 13:57:24 -07:00
2010-03-30 22:02:32 +09:00
2009-05-18 15:16:37 -07:00
2010-04-26 16:13:54 +02:00
2010-03-30 22:02:32 +09:00
2010-09-08 14:14:20 -07:00
2010-07-12 12:57:54 -07:00
2010-09-13 12:56:51 -07:00
2010-07-12 12:57:54 -07:00
2010-03-30 22:02:32 +09:00
2010-07-12 12:57:54 -07:00
2010-07-12 12:57:54 -07:00
2009-11-23 10:41:23 -08:00
2010-03-30 22:02:32 +09:00
2010-06-16 11:55:39 -07:00
2010-06-10 23:31:35 -07:00
2010-07-12 12:57:54 -07:00
2010-09-20 10:06:12 -07:00
2010-06-28 23:24:29 -07:00
2010-05-17 23:23:14 -07:00
2010-09-21 15:05:50 -07:00
2010-09-13 19:57:23 -07:00
2010-02-22 16:20:22 -08:00
2010-06-02 07:05:03 -07:00
2010-06-10 23:31:35 -07:00
2010-07-20 18:25:24 -07:00
2010-09-01 14:29:36 -07:00
2008-10-07 08:38:24 +11:00
2010-06-15 17:31:06 +02:00
2010-06-30 13:31:19 -07:00
2010-07-12 12:57:54 -07:00
2010-06-10 23:31:35 -07:00
2010-09-27 15:02:18 -07:00
2010-06-26 22:00:03 -07:00
2010-05-15 23:28:40 -07:00
2009-03-02 03:00:15 -08:00
2010-08-27 19:31:56 -07:00
2009-03-02 03:00:15 -08:00
2009-12-03 16:06:13 -08:00
2008-01-28 14:55:41 -08:00
2009-11-23 10:41:23 -08:00
2010-06-02 07:15:48 -07:00
2008-01-28 14:55:41 -08:00
2010-09-27 14:55:57 -07:00
2010-07-12 20:21:46 -07:00
2009-11-23 10:41:23 -08:00
2010-07-12 12:57:54 -07:00
2010-07-20 18:25:24 -07:00
2010-03-30 22:02:32 +09:00
2009-03-02 03:00:15 -08:00
2010-08-25 02:27:49 -07:00
2009-05-25 22:44:59 -07:00
2007-07-31 02:27:57 -07:00
2009-11-23 10:41:23 -08:00
2007-07-31 02:27:57 -07:00
2009-11-23 10:41:23 -08:00
2010-09-27 20:24:54 -07:00
2010-07-12 12:57:54 -07:00
2009-09-30 16:12:20 -07:00
2010-09-08 21:45:01 -07:00
2010-07-12 12:57:54 -07:00
2010-07-12 12:57:54 -07:00
2008-08-06 02:39:30 -07:00
2007-10-10 16:55:54 -07:00
2010-03-30 22:02:32 +09:00
2010-03-25 16:00:30 +01:00
2010-09-22 20:25:48 -07:00
2010-09-20 11:11:38 -07:00
2008-01-31 19:27:24 -08:00