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

Reply via email to