read() can't request pages past EOF, but mmap() can. apparently I had disengaged the brain when I said that was ok.