Merge branch 'linus' into x86/apic
authorIngo Molnar <mingo@elte.hu>
Fri, 13 Feb 2009 08:44:22 +0000 (09:44 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 13 Feb 2009 08:44:22 +0000 (09:44 +0100)
Conflicts:
arch/x86/kernel/acpi/boot.c
arch/x86/mm/fault.c

18 files changed:
1  2 
arch/arm/kernel/irq.c
arch/blackfin/kernel/irqchip.c
arch/sparc/kernel/irq_64.c
arch/x86/ia32/ia32entry.S
arch/x86/include/asm/paravirt.h
arch/x86/include/asm/processor.h
arch/x86/include/asm/spinlock.h
arch/x86/kernel/acpi/sleep.c
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/process.c
arch/x86/kernel/traps.c
arch/x86/kernel/vmi_32.c
arch/x86/mm/fault.c
drivers/misc/Kconfig
include/linux/sched.h
kernel/exit.c
kernel/fork.c
kernel/sched.c

@@@ -101,14 -101,9 +101,14 @@@ unlock
  /* Handle bad interrupts */
  static struct irq_desc bad_irq_desc = {
        .handle_irq = handle_bad_irq,
-       .lock = SPIN_LOCK_UNLOCKED
+       .lock = __SPIN_LOCK_UNLOCKED(bad_irq_desc.lock),
  };
  
 +#ifdef CONFIG_CPUMASK_OFFSTACK
 +/* We are not allocating bad_irq_desc.affinity or .pending_mask */
 +#error "ARM architecture does not support CONFIG_CPUMASK_OFFSTACK."
 +#endif
 +
  /*
   * do_IRQ handles all hardware IRQ's.  Decoded IRQs should not
   * come via this function.  Instead, they should provide their
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -806,8 -601,8 +806,6 @@@ void __kprobes do_page_fault(struct pt_
        /* get the address */
        address = read_cr2();
  
-       if (unlikely(notify_page_fault(regs)))
-               return;
 -      si_code = SEGV_MAPERR;
 -
        if (unlikely(kmmio_fault(regs, address)))
                return;
  
                        return;
  
                /* Can handle a stale RO->RW TLB */
 -              if (spurious_fault(address, error_code))
 +              if (spurious_fault(error_code, address))
                        return;
  
+               /* kprobes don't want to hook the spurious faults. */
+               if (notify_page_fault(regs))
+                       return;
                /*
                 * Don't take the mm semaphore here. If we fixup a prefetch
                 * fault we could otherwise deadlock.
                 */
 -              goto bad_area_nosemaphore;
 +              bad_area_nosemaphore(regs, error_code, address);
 +              return;
        }
  
 -      /* kprobes don't want to hook the spurious faults. */
 -      if (notify_page_fault(regs))
++      if (unlikely(notify_page_fault(regs)))
+               return;
 -
        /*
         * It's safe to allow irq's after cr2 has been saved and the
         * vmalloc fault has been handled.
Simple merge
Simple merge
diff --cc kernel/exit.c
Simple merge
diff --cc kernel/fork.c
Simple merge
diff --cc kernel/sched.c
Simple merge