The next step for mimmutable(). ld.so figures out what regions of memory
authorderaadt <deraadt@openbsd.org>
Sun, 4 Dec 2022 15:42:07 +0000 (15:42 +0000)
committerderaadt <deraadt@openbsd.org>
Sun, 4 Dec 2022 15:42:07 +0000 (15:42 +0000)
commit9ba2c65f00ed07a3f3367ffa7061b2f43f010a11
treeae1b1d23b8a72fe75a182b83013be4a451bdefd8
parente84c6478e93c0b8ca7ba27dd59fcff2995af76ad
The next step for mimmutable().  ld.so figures out what regions of memory
of startup shared library mappings can be made immutable, and also does
this for dlope() RTLD_NODELETE and subsidiary libraries.  Complexity in this
diff is due to the GNU_RELRO and OPENBSD_MUTABLE sections.
Tested in snaps for about 3 weeks, with some bootstrap related pain felt in ports
ok kettenis, much help from others.
libexec/ld.so/library.c
libexec/ld.so/library_mquery.c
libexec/ld.so/loader.c
libexec/ld.so/resolve.h