[PATCH 10/20] UML - Move register initialization

From: Jeff Dike
Date: Thu Jan 17 2008 - 16:47:04 EST


Calling init_registers inside the skas3 checking causes mysterious
crashes if it doesn't happen because the skas3 checking is bypassed.
This patch moves it to os_early_checks.

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxxxxxx>
---
arch/um/os-Linux/start_up.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

Index: linux-2.6.22/arch/um/os-Linux/start_up.c
===================================================================
--- linux-2.6.22.orig/arch/um/os-Linux/start_up.c 2007-12-19 13:15:22.000000000 -0500
+++ linux-2.6.22/arch/um/os-Linux/start_up.c 2007-12-19 13:16:08.000000000 -0500
@@ -342,6 +342,8 @@ static void __init check_coredump_limit(

void __init os_early_checks(void)
{
+ int pid;
+
/* Print out the core dump limits early */
check_coredump_limit();

@@ -351,6 +353,11 @@ void __init os_early_checks(void)
* kernel is running.
*/
check_tmpexec();
+
+ pid = start_ptraced_child();
+ if (init_registers(pid))
+ fatal("Failed to initialize default registers");
+ stop_ptraced_child(pid, 1, 1);
}

static int __init noprocmm_cmd_param(char *str, int* add)
@@ -412,9 +419,6 @@ static inline void check_skas3_ptrace_fa
non_fatal("found\n");
}

- if (init_registers(pid))
- fatal("Failed to initialize default registers");
-
stop_ptraced_child(pid, 1, 1);
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/