HomeFreeBSD

Fix coredump_phnum test with ASLR enabled

Description

Fix coredump_phnum test with ASLR enabled

coredump_phnum intends to generate a core file with many PT_LOAD
segments. Previously it called mmap() in a loop with alternating
protections, relying on each mapping following the previous, to produce
a core file with many page-sized PT_LOAD segments. With ASLR on we no
longer have this property of each mmap() following the previous.

Instead, perform a single allocation, and then use mprotect() to set
alternating pages to PROT_READ.

PR: 259970
Reported by: lwhsu, mw
Reviewed by: kib
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33070

(cherry picked from commit 8ec4c5dae32765701ac70811455084efd1570c32)
(cherry picked from commit ee2e925603e42897fbabe1b24208d27bdcaae786)

Details

Provenance
emasteAuthored on Nov 21 2021, 5:17 PM
Reviewer
kib
Differential Revision
D33070: Fix coredump_phnum test with ASLR enabled by default
Parents
R10:2ff40d5e276f: ng_h4: add deprecation notice
Branches
Unknown
Tags
Unknown