Commit 576c013d authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds

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: default avatarJeff Dike <jdike@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b5498832
...@@ -342,6 +342,8 @@ static void __init check_coredump_limit(void) ...@@ -342,6 +342,8 @@ static void __init check_coredump_limit(void)
void __init os_early_checks(void) void __init os_early_checks(void)
{ {
int pid;
/* Print out the core dump limits early */ /* Print out the core dump limits early */
check_coredump_limit(); check_coredump_limit();
...@@ -351,6 +353,11 @@ void __init os_early_checks(void) ...@@ -351,6 +353,11 @@ void __init os_early_checks(void)
* kernel is running. * kernel is running.
*/ */
check_tmpexec(); 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) static int __init noprocmm_cmd_param(char *str, int* add)
...@@ -412,9 +419,6 @@ static inline void check_skas3_ptrace_faultinfo(void) ...@@ -412,9 +419,6 @@ static inline void check_skas3_ptrace_faultinfo(void)
non_fatal("found\n"); non_fatal("found\n");
} }
if (init_registers(pid))
fatal("Failed to initialize default registers");
stop_ptraced_child(pid, 1, 1); stop_ptraced_child(pid, 1, 1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment