diff options
author | Richard Weinberger <richard@nod.at> | 2015-03-18 21:31:27 +0100 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2015-04-13 21:00:53 +0200 |
commit | d0b5e15f0c0fdd759dd3dd48dc2dc2e7199e0da0 (patch) | |
tree | 7b833b85c0e2eabf6b38d8b94875b430554afae7 /arch/um/kernel/reboot.c | |
parent | aaeac66b1a02d399ec8ee63e8d617c1d601ea353 (diff) | |
download | op-kernel-dev-d0b5e15f0c0fdd759dd3dd48dc2dc2e7199e0da0.zip op-kernel-dev-d0b5e15f0c0fdd759dd3dd48dc2dc2e7199e0da0.tar.gz |
um: Remove SKAS3/4 support
Before we had SKAS0 UML had two modes of operation
TT (tracing thread) and SKAS3/4 (separated kernel address space).
TT was known to be insecure and got removed a long time ago.
SKAS3/4 required a few (3 or 4) patches on the host side which never went
mainline. The last host patch is 10 years old.
With SKAS0 mode (separated kernel address space using 0 host patches),
default since 2005, SKAS3/4 is obsolete and can be removed.
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/kernel/reboot.c')
-rw-r--r-- | arch/um/kernel/reboot.c | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/arch/um/kernel/reboot.c b/arch/um/kernel/reboot.c index ced8903..9bdf67a 100644 --- a/arch/um/kernel/reboot.c +++ b/arch/um/kernel/reboot.c @@ -15,28 +15,21 @@ void (*pm_power_off)(void); static void kill_off_processes(void) { - if (proc_mm) - /* - * FIXME: need to loop over userspace_pids - */ - os_kill_ptraced_process(userspace_pid[0], 1); - else { - struct task_struct *p; - int pid; - - read_lock(&tasklist_lock); - for_each_process(p) { - struct task_struct *t; - - t = find_lock_task_mm(p); - if (!t) - continue; - pid = t->mm->context.id.u.pid; - task_unlock(t); - os_kill_ptraced_process(pid, 1); - } - read_unlock(&tasklist_lock); + struct task_struct *p; + int pid; + + read_lock(&tasklist_lock); + for_each_process(p) { + struct task_struct *t; + + t = find_lock_task_mm(p); + if (!t) + continue; + pid = t->mm->context.id.u.pid; + task_unlock(t); + os_kill_ptraced_process(pid, 1); } + read_unlock(&tasklist_lock); } void uml_cleanup(void) |