diff options
author | Jeff Dike <jdike@addtoit.com> | 2008-02-05 01:31:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 12:44:31 -0500 |
commit | 576c013df0ac9ad1f217452c14ddde246bb1a70d (patch) | |
tree | 462f11121cd5157516a094fa843480c8a44f29e0 /arch/um/os-Linux/start_up.c | |
parent | b54988325c4cbf8bd92c0def53387ab6516d0920 (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.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) | |||
342 | 342 | ||
343 | void __init os_early_checks(void) | 343 | void __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 | ||
356 | static int __init noprocmm_cmd_param(char *str, int* add) | 363 | static 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 | ||