[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100927205624.1564649e.akpm@linux-foundation.org>
Date: Mon, 27 Sep 2010 20:56:24 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org, bugzilla-daemon@...zilla.kernel.org,
bugme-daemon@...zilla.kernel.org, bono@...inehome.de
Subject: Re: [Bugme-new] [Bug 16603] New: send of data > 4 GB fails on 64
bit systems
On Mon, 27 Sep 2010 20:24:25 -0700 (PDT) David Miller <davem@...emloft.net> wrote:
> Ok, I suspect the following is enough to fix this specific bug
> report, TCP sending.
>
> However, as I stated in my previous reply there are creepy
> crawlies all over the place.
>
> For example, all of the routines in net/core/iovec.c (memcpy_toiovec,
> memcpy_toiovecend, memcpy_fromiovec, memcpy_fromiovecend,
> csum_partial_copy_fromiovecend) that cast using min_t() are currently
> casting "down" to "unsigned int".
>
> They should probably case "up" to "size_t".
eep.
A blanket suckyfix might be, at the syscall level:
if (size > 4g) {
do_it_in_4g_hunks();
do_the_last_bit();
}
unless that would break some networking syscall->framesize guarantees
or something?
And such a "fix" would make it hard to test the real fix!
I'm surprised that this issue hasn't come up before.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists