1. 26 Mar, 2006 6 commits
    • Steven Rostedt's avatar
      [PATCH] protect remove_proc_entry · 64a07bd8
      Steven Rostedt authored
      It has been discovered that the remove_proc_entry has a race in the removing
      of entries in the proc file system that are siblings.  There's no protection
      around the traversing and removing of elements that belong in the same
      subdirectory.
      
      This subdirectory list is protected in other areas by the BKL.  So the BKL was
      at first used to protect this area too, but unfortunately, remove_proc_entry
      may be called with spinlocks held.  The BKL may schedule, so this was not a
      solution.
      
      The final solution was to add a new global spin lock to protect this list,
      called proc_subdir_lock.  This lock now protects the list in
      remove_proc_entry, and I also went around looking for other areas that this
      list is modified and added this protection there too.  Care must be taken
      since these locations call several functions that may also schedule.
      
      Since I don't see any location that these functions that modify the
      subdirectory list are called by interrupts, the irqsave/restore versions of
      the spin lock was _not_ used.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      64a07bd8
    • Ingo Molnar's avatar
      [PATCH] warn if free_irq() is called from IRQ context · cd7b24bb
      Ingo Molnar authored
      Warn if free_irq() is called in IRQ context - free_irq() can execute /proc
      VFS work, which must not be done in IRQ context.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      cd7b24bb
    • Ingo Molnar's avatar
      [PATCH] drivers/block/floppy.c: dont free_irq() from irq context · 6dc659d8
      Ingo Molnar authored
      free_irq() should not be executed from softirq context.
      
      Found by the lock validator.  The fix is to push fd_free_irq() into
      keventd.  The code validates fine with this patch applied.
      
      (akpm: this is revolting, but so is floppy.c)
      
      [akpm@osdl.org: added flush_scheduled_work()]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6dc659d8
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-serial · 36ddf5bb
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-serial:
        [ARM] 3383/3: ixp2000: ixdp2x01 platform serial conversion
        [SERIAL] amba-pl010: Remove accessor macros
        [SERIAL] remove 8250_acpi (replaced by 8250_pnp and PNPACPI)
        [SERIAL] icom: select FW_LOADER
      36ddf5bb
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a41622ea
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 3030/2: fix permission check in the obscur cmpxchg syscall
        [ARM] nommu: rename compressed/head.S symbols to a new style
        [ARM] select TLS_REG_EMUL and NEEDS_SYSCALL_FOR_CMPXCHG
        [ARM] nommu: Move hardware page table definitions to pgtable-hwdef.h
        [ARM] Move read of processor ID out of lookup_processor_type()
        [ARM] Fix typo in tlbflush.h
        [ARM] noMMU: removes TLB codes in nommu mode
        [ARM] noMMU: block sys_fork in nommu mode
        [ARM] 3399/1: Fix link problem when CONFIG_PRINTK is disabled
        [ARM] 3398/1: Fix the VFP registers loading/storing base address
        [ARM] 3397/1: AT91RM9200 Header update
        [ARM] 3385/1: Battery support for sharp zaurus sl-5500 (collie)
        [ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpu
        include/linux/clk.h is betraying its ARM origins
        [ARM] Move enable_irq and disable_irq to assembler.h
        [ARM] 3391/1: use PLAT8250_DEV_PLATFORM{,1} for platform device id instead of 0/1
      a41622ea
    • Andi Kleen's avatar
      [PATCH] Fix compilation of processor_idle.c on IA64 · 0b5c59a1
      Andi Kleen authored
      Broken earlier by me by a x86-64 patch.
      
      The code was optimized away, but the compiler still complained about an
      undeclared function.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      0b5c59a1
  2. 25 Mar, 2006 34 commits