Setting all auxiliary vector values to default values if one of them
was not provided by the host will discard perfectly fine values.

Move the elf_aux_platform fallback to its own conditional.

Signed-off-by: Thomas Weißschuh <[email protected]>
---
 arch/um/os-Linux/elf_aux.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/um/os-Linux/elf_aux.c b/arch/um/os-Linux/elf_aux.c
index 0a0f91cf4d6d..a62fe39e85c9 100644
--- a/arch/um/os-Linux/elf_aux.c
+++ b/arch/um/os-Linux/elf_aux.c
@@ -62,14 +62,16 @@ __init void scan_elf_aux( char **envp)
                }
        }
        if ( ! __kernel_vsyscall || ! vsyscall_ehdr ||
-            ! elf_aux_hwcap || ! elf_aux_platform ||
+            ! elf_aux_hwcap ||
             ! page_size || (vsyscall_ehdr % page_size) ) {
                __kernel_vsyscall = 0;
                vsyscall_ehdr = 0;
                elf_aux_hwcap = 0;
-               elf_aux_platform = "i586";
        }
        else {
                vsyscall_end = vsyscall_ehdr + page_size;
        }
+
+       if (!elf_aux_platform)
+               elf_aux_platform = "i586";
 }

-- 
2.51.1.dirty


Reply via email to