Summary: | sys.kern.coredump_phnum_test.coredump_phnum fails with ASLR on by default | ||
---|---|---|---|
Product: | Base System | Reporter: | Ed Maste <emaste> |
Component: | tests | Assignee: | freebsd-testing (Nobody) <testing> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | ||
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any | ||
Bug Depends on: | |||
Bug Blocks: | 259968 |
Description
Ed Maste
2021-11-21 16:08:01 UTC
More recent run, https://ci.freebsd.org/job/FreeBSD-main-amd64-test/19867/testReport/junit/sys.kern/coredump_phnum_test/coredump_phnum/ Source reference: tests/sys/kern/coredump_phnum_test.sh tests/sys/kern/coredump_phnum_helper.c Proposed fix: https://reviews.freebsd.org/D33070 A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=8ec4c5dae32765701ac70811455084efd1570c32 commit 8ec4c5dae32765701ac70811455084efd1570c32 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2021-11-21 17:17:20 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2021-11-21 17:57:38 +0000 Fix coredump_phnum test with ASLR enabled by default 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 tests/sys/kern/coredump_phnum_helper.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=ee2e925603e42897fbabe1b24208d27bdcaae786 commit ee2e925603e42897fbabe1b24208d27bdcaae786 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2021-11-21 17:17:20 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2021-11-28 00:27:03 +0000 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) tests/sys/kern/coredump_phnum_helper.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) A commit in branch stable/12 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=d3a7b75bbcb5171d7eda9d712437efd46bb7605b commit d3a7b75bbcb5171d7eda9d712437efd46bb7605b Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2021-11-21 17:17:20 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2021-11-28 02:55:46 +0000 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) tests/sys/kern/coredump_phnum_helper.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) |