diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-04-18 14:43:29 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-04-18 14:43:29 +0200 |
| commit | 365fba2440cee3aed74c774867a1f43e3e2f7aac (patch) | |
| tree | d148c5d3f2e417b31d3dca1ae0e5d9c77da847b9 /sys/netbsd | |
| parent | 6fe0f49646813924a072d786e080ab7bf4f9ab65 (diff) | |
executor: surround the data mapping with PROT_NONE pages
Surround the main data mapping with PROT_NONE pages to make virtual address layout more consistent
across different configurations (static/non-static build) and C repros.
One observed case before: executor had a mapping above the data mapping (output region),
while C repros did not have that mapping above, as the result in one case VMA had next link,
while in the other it didn't and it caused a bug to not reproduce with the C repro.
The bug that reproduces only with the mapping above:
https://lkml.org/lkml/2020/4/17/819
Diffstat (limited to 'sys/netbsd')
| -rw-r--r-- | sys/netbsd/init.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netbsd/init.go b/sys/netbsd/init.go index c90c51eb8..1a7988d61 100644 --- a/sys/netbsd/init.go +++ b/sys/netbsd/init.go @@ -13,7 +13,7 @@ func InitTarget(target *prog.Target) { unix: targets.MakeUnixNeutralizer(target), } - target.MakeDataMmap = targets.MakePosixMmap(target, false) + target.MakeDataMmap = targets.MakePosixMmap(target, false, false) target.Neutralize = arch.unix.Neutralize } |
