diff options
author | Jeff Dike | 2008-02-05 07:31:22 +0100 |
---|---|---|
committer | Linus Torvalds | 2008-02-05 18:44:31 +0100 |
commit | 576c013df0ac9ad1f217452c14ddde246bb1a70d (patch) | |
tree | 462f11121cd5157516a094fa843480c8a44f29e0 | |
parent | uml: add newlines to printks (diff) | |
download | kernel-qcow2-linux-576c013df0ac9ad1f217452c14ddde246bb1a70d.tar.gz kernel-qcow2-linux-576c013df0ac9ad1f217452c14ddde246bb1a70d.tar.xz kernel-qcow2-linux-576c013df0ac9ad1f217452c14ddde246bb1a70d.zip |
uml: move register initialization
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@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/um/os-Linux/start_up.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c index bcf0c9b86b10..b616e15638fb 100644 --- a/arch/um/os-Linux/start_up.c +++ b/arch/um/os-Linux/start_up.c @@ -342,6 +342,8 @@ static void __init check_coredump_limit(void) 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_faultinfo(void) non_fatal("found\n"); } - if (init_registers(pid)) - fatal("Failed to initialize default registers"); - stop_ptraced_child(pid, 1, 1); } |