On Thu, May 11, 2023, at 2:00 AM, Paul Eggert wrote: > On 2023-05-10 21:06, Matt Turner wrote: > >> We're mmap'ing a 1-byte file, and since the pagesize on amd64 is 4096 >> bytes, only the first 4096 byte page (of two) is mapped. Accessing the >> second page triggers the SIGBUS. > > Ouch, I misread that part of the test. Thanks for reporting that. I > suppose we should go back to invoking getpagesize despite the hassle of > configuring it. I installed the attached further patch; please give it a > try.
Off the top of my head, but we can safely assume that the page size is at least 512 bytes, so why not mmap an 8192-byte region of a 1-byte file, as in the previous iteration, and then access, like, byte 255? Unless someone knows of a bug in some old kernel where the first *disk block* of an oversized mmap would be properly zeroed and then the rest of it would be memory garbage, I suppose... zw