Re: BUG: mmapfile/writev spurious zero bytes (x86_64/not i386,bisected, reproducable)

From: Linus Torvalds
Date: Tue Jun 17 2008 - 13:09:32 EST




On Tue, 17 Jun 2008, Bron Gondwana wrote:
>
> And I appear to have sent the one without the usage comments at the top.
> Here they are:

Very interesting. There's certainly something there.

That said, there's a distracting bug which is visible when doing an strace

lseek(4, 140333890921392, SEEK_SET) = -1 EINVAL (Invalid argument)
write(4, "\0\0\0\0", 4) = 4

which is from that

lseek(newfd, mapbase + offset + size - 8, 0);
write(newfd, (char *) &zero, 4);

where the addition of "mapbase" is insane. So that will write zeroes to
the wrong part of the file (offset 64, to be exact). And that will get
overwritten by the next write, making it all look entirely insane.

That said, that bug may be distracting, but it seems to have nothign at
all to do with the actual problem. The bug seems to happen only when the
file is not pre-paged in.

Nick?

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/