From 6e73c90e1845f0e57864614593aefadaf2372449 Mon Sep 17 00:00:00 2001 From: Paolo 'Blaisorblade' Giarrusso Date: Fri, 30 Sep 2005 11:59:00 -0700 Subject: [PATCH] --- yaml --- r: 9509 b: refs/heads/master c: 8923648c125421b0fcb240cde607e2748d099ab8 h: refs/heads/master i: 9507: ec0c8dc282130444802aed52bba535bf883fad57 v: v3 --- [refs] | 2 +- trunk/arch/um/include/os.h | 4 ++++ trunk/arch/um/kernel/um_arch.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b57444fa42f3..291289b6e07f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be662a18b7763496a052d489206af9ca2c2e1ac2 +refs/heads/master: 8923648c125421b0fcb240cde607e2748d099ab8 diff --git a/trunk/arch/um/include/os.h b/trunk/arch/um/include/os.h index 583329d0a539..6f766e1faecc 100644 --- a/trunk/arch/um/include/os.h +++ b/trunk/arch/um/include/os.h @@ -157,6 +157,10 @@ extern int os_lock_file(int fd, int excl); extern void os_early_checks(void); extern int can_do_skas(void); +/* Make sure they are clear when running in TT mode. Required by + * SEGV_MAYBE_FIXABLE */ +#define clear_can_do_skas() do { ptrace_faultinfo = proc_mm = 0; } while (0) + /* mem.c */ extern int create_mem_file(unsigned long len); diff --git a/trunk/arch/um/kernel/um_arch.c b/trunk/arch/um/kernel/um_arch.c index f0a275947d34..93dc782dc1cc 100644 --- a/trunk/arch/um/kernel/um_arch.c +++ b/trunk/arch/um/kernel/um_arch.c @@ -334,6 +334,8 @@ int linux_main(int argc, char **argv) add_arg(DEFAULT_COMMAND_LINE); os_early_checks(); + if (force_tt) + clear_can_do_skas(); mode_tt = force_tt ? 1 : !can_do_skas(); #ifndef CONFIG_MODE_TT if (mode_tt) {