Since we read 4k of memory to get the module name, we run a very real
risk of crossing a page boundary into a page which is not mapped. Also,
since (I think) a module name is limited to 60 bytes (in 2.4 I think
this number was hardcoded), we should only read this amount. Reading
just this amount ensures that the page will be mapped.
This is only an issue with 2.4, 2.6 has a different function which
limits the read to 64 - sizeof(int).
Patch attached,
Nick
|