aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/start_up.c
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2008-02-05 01:31:22 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 12:44:31 -0500
commit576c013df0ac9ad1f217452c14ddde246bb1a70d (patch)
tree462f11121cd5157516a094fa843480c8a44f29e0 /arch/um/os-Linux/start_up.c
parentb54988325c4cbf8bd92c0def53387ab6516d0920 (diff)
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>
Diffstat (limited to 'arch/um/os-Linux/start_up.c')
-rw-r--r--arch/um/os-Linux/start_up.c10
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)
342 342
343void __init os_early_checks(void) 343void __init os_early_checks(void)
344{ 344{
345 int pid;
346
345 /* Print out the core dump limits early */ 347 /* Print out the core dump limits early */
346 check_coredump_limit(); 348 check_coredump_limit();
347 349
@@ -351,6 +353,11 @@ void __init os_early_checks(void)
351 * kernel is running. 353 * kernel is running.
352 */ 354 */
353 check_tmpexec(); 355 check_tmpexec();
356
357 pid = start_ptraced_child();
358 if (init_registers(pid))
359 fatal("Failed to initialize default registers");
360 stop_ptraced_child(pid, 1, 1);
354} 361}
355 362
356static int __init noprocmm_cmd_param(char *str, int* add) 363static int __init noprocmm_cmd_param(char *str, int* add)
@@ -412,9 +419,6 @@ static inline void check_skas3_ptrace_faultinfo(void)
412 non_fatal("found\n"); 419 non_fatal("found\n");
413 } 420 }
414 421
415 if (init_registers(pid))
416 fatal("Failed to initialize default registers");
417
418 stop_ptraced_child(pid, 1, 1); 422 stop_ptraced_child(pid, 1, 1);
419} 423}
420 424