diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-07-08 16:38:10 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-07-16 16:52:32 +0000 |
commit | 715e1c7f3c820bd67f2a572daf85bd988fcbd70c (patch) | |
tree | fb967fb1df9aacc9039cc3d5de07eeae8e9009d2 /include | |
parent | 2f2a4d5283954aa679875cfebdcddea74cd37ea5 (diff) | |
download | glibc-azanella/mseal.zip glibc-azanella/mseal.tar.gz glibc-azanella/mseal.tar.bz2 |
elf: Add support for GNU_PROPERTY_NO_MEMORY_SEALazanella/mseal
The GNU_PROPERTY_NO_MEMORY_SEAL is a GNU property per module instructing
the glibc not to seal the object PT_LOAD. It can be used for any reason
the modules require to seal not to be enabled (i.e., on Firefox hack to
bypass the dynamic loader and enable DT_RELR on older glibc [1]). In
this case, it is up to the module to apply memory sealing itself.
The sealing is applied by default, and it is always enforced with
glibc.rtld.seal=2.
Checked on aarch64-linux-gnu, x86_64-linux-gnu, and
powerpc64le-linux-gnu.
[1] https://glandium.org/blog/?p=4297
Diffstat (limited to 'include')
-rw-r--r-- | include/link.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/link.h b/include/link.h index fd8e7f2..176f4ab 100644 --- a/include/link.h +++ b/include/link.h @@ -214,6 +214,7 @@ struct link_map lt_library map. */ enum /* Memory sealing status. */ { + lt_seal_undefined = 0, /* No set. */ lt_seal_dont, /* Do not seal the object. */ lt_seal_toseal, /* The library is marked to be sealed. */ lt_seal_sealed /* The library is sealed. */ |