On Mon, 3 Aug 2026 18:30:46 +0800 Hongfu Li <[email protected]> wrote:
> The test creates a non-anonymous VMA (ptr_not_anon) via mmap() with
> MAP_PRIVATE but without MAP_ANONYMOUS, using fd=0 (stdin) as the file
> descriptor. This always fails because fd=0 is not a regular file,
> and the failure was hidden because ASSERT_NE() incorrectly checked
> for NULL instead of MAP_FAILED.
It's remarkable how often code assumes that mmap(...)==NULL is the
error return.
> Fix by using mkstemp() + ftruncate() to create a real temporary file,
> then mapping it with MAP_PRIVATE to obtain a genuine file-backed VMA.
> Also fix the mmap() error checks to use MAP_FAILED instead of NULL,
> and pass fd=-1 for the anonymous mapping for clarity. The temp file
> is unlinked immediately so it does not persist on disk.
Thanks.
AI review found one glitch which I don't think we need to care about:
https://sashiko.dev/#/patchset/[email protected]
and one possible pre-existing issue which is kinda related and which
you may choose to address. Please take a look and let us know?