Since the introduction of automatic immutable from the kernel, the munmap()
authorkettenis <kettenis@openbsd.org>
Thu, 10 Nov 2022 16:14:50 +0000 (16:14 +0000)
committerkettenis <kettenis@openbsd.org>
Thu, 10 Nov 2022 16:14:50 +0000 (16:14 +0000)
commit9044b3fce410a9346f93e3b240babfe0e5cafb27
tree32ed7ab490f2f31c4feb50589be142bdd1bbfdbb
parent9e57d33502b78f3f3f704c598a21bd4e4c4a69bf
Since the introduction of automatic immutable from the kernel, the munmap()
of ld.so boot.text region is now (silently) failing because the region is
contained within the text LOAD, which is immutable.  So create a new btext
LOAD with flags PF_X|PF_R|PF_OPENBSD_MUTABLE, and place all boot.text objects
in there.  This LOAD must also be page-aligned so it doesn't skip unmapping
some of the object region, previously it was hilariously unaligned.
ok kettenis and guenther seemed to like it also
This one is for powerpc64 and a modified version of the diff deraadt@ mailed
out to make sure the LOADs are in increasing address order.
libexec/ld.so/powerpc64/ld.script