From: Ingo Molnar the attached patch fixes UML on 2.6.2-rc3-mm1: - x86: reshuffle the way TASK_SIZE is defined on x86. [UML relied on a specific order of definitions within the x86 header files, the 4/4 patch broke this assumption.] - UML: sys_call_table.c: syscall layout changed - UML: um_arch.c: handle_sysrq() changed UML compiles & works fine with this patch applied. --- 25-akpm/arch/um/kernel/sys_call_table.c | 3 +-- 25-akpm/arch/um/kernel/um_arch.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff -puN arch/um/kernel/sys_call_table.c~uml-fixes-2.6.2-rc3-mm1-A2 arch/um/kernel/sys_call_table.c --- 25/arch/um/kernel/sys_call_table.c~uml-fixes-2.6.2-rc3-mm1-A2 Wed Feb 4 12:31:50 2004 +++ 25-akpm/arch/um/kernel/sys_call_table.c Wed Feb 4 12:31:50 2004 @@ -151,7 +151,6 @@ extern syscall_handler_t sys_mlockall; extern syscall_handler_t sys_munlockall; extern syscall_handler_t sys_sched_setparam; extern syscall_handler_t sys_sched_getparam; -extern syscall_handler_t sys_sched_setscheduler; extern syscall_handler_t sys_sched_getscheduler; extern syscall_handler_t sys_sched_get_priority_max; extern syscall_handler_t sys_sched_get_priority_min; @@ -441,7 +440,7 @@ syscall_handler_t *sys_call_table[] = { [ __NR_munlockall ] = sys_munlockall, [ __NR_sched_setparam ] = sys_sched_setparam, [ __NR_sched_getparam ] = sys_sched_getparam, - [ __NR_sched_setscheduler ] = sys_sched_setscheduler, + [ __NR_sched_setscheduler ] = (syscall_handler_t *) sys_sched_setscheduler, [ __NR_sched_getscheduler ] = sys_sched_getscheduler, [ __NR_sched_yield ] = (syscall_handler_t *) yield, [ __NR_sched_get_priority_max ] = sys_sched_get_priority_max, diff -puN arch/um/kernel/um_arch.c~uml-fixes-2.6.2-rc3-mm1-A2 arch/um/kernel/um_arch.c --- 25/arch/um/kernel/um_arch.c~uml-fixes-2.6.2-rc3-mm1-A2 Wed Feb 4 12:31:50 2004 +++ 25-akpm/arch/um/kernel/um_arch.c Wed Feb 4 12:32:06 2004 @@ -393,7 +393,7 @@ static int panic_exit(struct notifier_bl void *unused2) { #ifdef CONFIG_MAGIC_SYSRQ - handle_sysrq('p', ¤t->thread.regs, NULL, NULL); + handle_sysrq('p', ¤t->thread.regs, NULL); #endif machine_halt(); return(0); _