The comment I originally added in a3defbe5c337db ("binfmt_elf: fix PIE
execution with randomization disabled") is not really 100% accurate --
sysctl is not the only way how PF_RANDOMIZE could be forcibly unset in
runtime.
Another option of course is direct modification of personality flags (i.e.
running through setarch wrapper).
Make the comment more explicit and accurate.
Signed-off-by: Jiri Kosina <[email protected]>
---
fs/binfmt_elf.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 3939829..7e533c0 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -803,7 +803,8 @@ static int load_elf_binary(struct linux_binprm *bprm)
* follow the loader, and is not movable. */
#ifdef CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE
/* Memory randomization might have been switched off
- * in runtime via sysctl.
+ * in runtime via sysctl or explicit setting of
+ * personality flags.
* If that is the case, retain the original non-zero
* load_bias value in order to establish proper
* non-randomized mappings.
--
Jiri Kosina
SUSE Labs