diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/cris/kernel/irq.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/cris/kernel/irq.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/cris/kernel/irq.c 2006-11-30 18:26:05 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/cris/kernel/irq.c 2007-03-09 16:58:33 +0100 @@ -92,7 +92,6 @@ skip: asmlinkage void do_IRQ(int irq, struct pt_regs * regs) { unsigned long sp; - irq_enter(); sp = rdsp(); if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) { diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/i386/kernel/irq.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/i386/kernel/irq.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/i386/kernel/irq.c 2006-11-30 18:26:37 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/i386/kernel/irq.c 2007-03-09 16:58:33 +0100 @@ -84,6 +84,7 @@ fastcall unsigned int do_IRQ(struct pt_r } } #endif + #ifdef CONFIG_4KSTACKS curctx = (union irq_ctx *) current_thread_info(); @@ -123,6 +124,7 @@ fastcall unsigned int do_IRQ(struct pt_r } else #endif desc->handle_irq(irq, desc); + irq_exit(); set_irq_regs(old_regs); return 1; diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/m32r/kernel/irq.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/m32r/kernel/irq.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/m32r/kernel/irq.c 2006-11-30 18:26:50 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/m32r/kernel/irq.c 2007-03-09 16:58:33 +0100 @@ -78,7 +78,6 @@ skip: asmlinkage unsigned int do_IRQ(int irq, struct pt_regs *regs) { struct pt_regs *old_regs; - old_regs = set_irq_regs(regs); irq_enter(); diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/um/kernel/irq.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/um/kernel/irq.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/um/kernel/irq.c 2006-11-30 18:28:41 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/um/kernel/irq.c 2007-03-09 16:58:33 +0100 @@ -357,7 +357,6 @@ void forward_interrupts(int pid) unsigned int do_IRQ(int irq, union uml_pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs((struct pt_regs *)regs); - irq_enter(); __do_IRQ(irq); irq_exit(); diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/um/kernel/syscall.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/um/kernel/syscall.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/um/kernel/syscall.c 2006-12-02 01:37:05 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/um/kernel/syscall.c 2007-03-09 16:58:33 +0100 @@ -15,7 +15,6 @@ #include "linux/unistd.h" #include "linux/slab.h" #include "linux/utime.h" - #include "asm/mman.h" #include "asm/uaccess.h" #include "kern_util.h" diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/x86_64/kernel/irq.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/x86_64/kernel/irq.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/x86_64/kernel/irq.c 2006-11-30 18:28:58 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/x86_64/kernel/irq.c 2007-03-09 16:58:33 +0100 @@ -123,6 +123,7 @@ asmlinkage unsigned int do_IRQ(struct pt else printk(KERN_EMERG "%s: %d.%d No irq handler for vector\n", __func__, smp_processor_id(), vector); + irq_exit(); set_irq_regs(old_regs); diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/arch/xtensa/kernel/irq.c linux-2.6.19.5-vs2.2.0-rc15.6/arch/xtensa/kernel/irq.c --- linux-2.6.19.5-vs2.2.0-rc15.5/arch/xtensa/kernel/irq.c 2006-11-30 18:29:29 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/arch/xtensa/kernel/irq.c 2007-03-09 16:58:33 +0100 @@ -63,7 +63,9 @@ unsigned int do_IRQ(int irq, struct pt_ sp - sizeof(struct thread_info)); } #endif + __do_IRQ(irq, regs); + irq_exit(); return 1; diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/include/linux/pid.h linux-2.6.19.5-vs2.2.0-rc15.6/include/linux/pid.h --- linux-2.6.19.5-vs2.2.0-rc15.5/include/linux/pid.h 2007-02-23 01:41:04 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/include/linux/pid.h 2007-03-09 16:58:33 +0100 @@ -106,7 +106,6 @@ static inline pid_t pid_nr(struct pid *p } - #define do_each_task_pid(who, type, task) \ do { \ struct hlist_node *pos___; \ diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/kernel/nsproxy.c linux-2.6.19.5-vs2.2.0-rc15.6/kernel/nsproxy.c --- linux-2.6.19.5-vs2.2.0-rc15.5/kernel/nsproxy.c 2007-01-31 19:59:02 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/kernel/nsproxy.c 2007-03-09 16:58:33 +0100 @@ -64,6 +64,7 @@ struct nsproxy *dup_namespaces(struct ns if (ns->ipc_ns) get_ipc_ns(ns->ipc_ns); } + return ns; } diff -NurpP --minimal linux-2.6.19.5-vs2.2.0-rc15.5/kernel/posix-timers.c linux-2.6.19.5-vs2.2.0-rc15.6/kernel/posix-timers.c --- linux-2.6.19.5-vs2.2.0-rc15.5/kernel/posix-timers.c 2006-11-08 04:57:52 +0100 +++ linux-2.6.19.5-vs2.2.0-rc15.6/kernel/posix-timers.c 2007-03-09 16:58:33 +0100 @@ -328,7 +328,7 @@ int posix_timer_event(struct k_itimer *t } ret = send_group_sigqueue(timr->it_sigev_signo, timr->sigq, - timr->it_process); + timr->it_process); out: leave_vx_info(&vxis); put_vx_info(vxis.vxi);