Fixes bug with mmapping beyond a file's last page
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 3 Feb 2012 21:02:07 +0000 (13:02 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 3 Feb 2012 21:20:56 +0000 (13:20 -0800)
commitca2e9b2a082205e5034b14fa821de11b5651e4a1
treeec64d483d15034714dd2750f60d1e4c9351d45c3
parent2ddcd13679e58c71c839541375366e8f853e06b7
Fixes bug with mmapping beyond a file's last page

The kernel was page faulting.  Now, we check for it at do_mmap() time,
and recheck during handle_page_fault().  Linux sends a SIGBUS at access
time if you tried to access beyond the filesize.

Note that we still don't have any concurrency protection regarding the
file size.  Someone could be truncating the file right as you are
loading the page, but after you checked i_size.
kern/src/mm.c
tests/test_mmap_ipc.c