UML's get_task() wants to find a task by its PID; NFI why it is doing any tasklist scanning here. find_task_by_pid() is present in 2.4.x also. process_kern.c | 10 ++-------- 1 files changed, 2 insertions(+), 8 deletions(-) diff -urpN wli-2.5.51-bk1-6/arch/um/kernel/process_kern.c wli-2.5.51-bk1-7/arch/um/kernel/process_kern.c --- wli-2.5.51-bk1-6/arch/um/kernel/process_kern.c 2002-12-09 18:46:09.000000000 -0800 +++ wli-2.5.51-bk1-7/arch/um/kernel/process_kern.c 2002-12-11 18:34:09.000000000 -0800 @@ -49,16 +49,10 @@ struct cpu_task cpu_tasks[NR_CPUS] = { [ struct task_struct *get_task(int pid, int require) { - struct task_struct *task, *ret; + struct task_struct *ret; - ret = NULL; read_lock(&tasklist_lock); - for_each_process(task){ - if(task->pid == pid){ - ret = task; - break; - } - } + ret = find_task_by_pid(pid); read_unlock(&tasklist_lock); if(require && (ret == NULL)) panic("get_task couldn't find a task\n"); return(ret);