There are bigger problems here. When the code calculates the size to map
if size is passed as zero, it simply assigns the 64-bit st_size to the
size to mmap. On a 32-bit system, it is obvious that the amount to map
must be less than a 32-bit value. The calculation should take into
account at least the following two things: 1) it should be the size of the
file minus the offset, and 2) it shouldn't ask for an unreasonable amount
of memory. I will experiment with this and submit a new patch (and delete
the two I've already uploaded) within a couple of days, or at a minimum,
provide an update to this bug. |