1. 24 Jul, 2002 11 commits
    • Neil Brown's avatar
      [PATCH] type safe(r) list_entry repacement: container_of · ec4f2142
      Neil Brown authored
      Define container_of which cast from member to struct with some type checking.
      
      This is much like list_entry but is cearly for things other than lists.
      
      List_entry now uses container_of.
      ec4f2142
    • Linus Torvalds's avatar
      Merge bk://jfs.bkbits.net/linux-2.5 · 6f84f62a
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      6f84f62a
    • Hugh Dickins's avatar
      [PATCH] shmem_getpage_locked missing unlock · 4a6fdb2d
      Hugh Dickins authored
      Dawson Engler's Stanford Checker reported this missing unlock to
      LKML 11 July (amongst "56 potential lock/unlock bugs in 2.5.8").
      4a6fdb2d
    • Hugh Dickins's avatar
      [PATCH] shmem_file_write double kunmap · ee9e4c9c
      Hugh Dickins authored
      Found by Simon Trimmer <simon@veritas.com>: shmem_file_write
      failure path duplicates kunmap, causing oops holding kmap_lock.
      ee9e4c9c
    • Hugh Dickins's avatar
      [PATCH] shmem_link duplicated test · 3489f24f
      Hugh Dickins authored
      Trivial: vfs_link in 2.5 checks S_ISDIR first, shmem_link
      need not repeat it, but test crept back in at some stage.
      3489f24f
    • Hugh Dickins's avatar
      [PATCH] shm_destroy lock hang · 960d4b34
      Hugh Dickins authored
      Martin Schwidefsky <schwidefsky@de.ibm.com> reported "Bug with shared
      memory" to LKML 14 May: hang due to schedule in truncate_list_pages
      called from .... shm_destroy holding shm_lock spinlock.  shm_destroy
      needs that lock for shm_rmid, but it can be safely unlocked once link
      from id to shp has been removed.
      960d4b34
    • Linus Torvalds's avatar
      7e9b34ab
    • Martin Dalecki's avatar
      [PATCH] IDE-101 · 02114f71
      Martin Dalecki authored
      Here is a quick fix.  I would like to synchronize with the irq handler
      changes as well.  Becouse right now I know that preemption is killing
      the disk subsystem when moving data between disks using different
      request queues...  In esp.  It get's me in to do_request() with a queue
      in unplugged state.  (Not everything is my fault, after all :-).
      02114f71
    • Dave Kleikamp's avatar
      Merge jfs@jfs.bkbits.net:linux-2.5 · 2b0c7536
      Dave Kleikamp authored
      into kleikamp.austin.ibm.com:/home/shaggy/bk/jfs-2.5
      2b0c7536
    • Linus Torvalds's avatar
      Remove unused variable · 10f024fd
      Linus Torvalds authored
      10f024fd
    • Ingo Molnar's avatar
      [PATCH] irqlock patch 2.5.27-H6 · a6efb709
      Ingo Molnar authored
       - init thread needs to have preempt_count of 1 until sched_init().
         (William Lee Irwin III)
       - clean up the irq-mask macros. (Linus)
       - add barrier() to irq_enter() and irq_exit(). (based on Oleg Nesterov's
         comment.)
       - move the irqs-off check into preempt_schedule() and remove
         CONFIG_DEBUG_IRQ_SCHEDULE.
       - remove spin_unlock_no_resched() and comment the affected places more
         agressively.
       - slab.c needs to spin_unlock_no_resched(), instead of spin_unlock(). (It
         also has to check for preemption in the right spot.) This should fix
         the memory corruption.
       - irq_exit() needs to run softirqs if interrupts not active - in the
         previous patch it ran them when preempt_count() was 0, which is
         incorrect.
       - spinlock macros are updated to enable preemption after enabling
         interrupts. Besides avoiding false positive warnings, this also
       - fork.c has to call scheduler_tick() with preemption disabled -
         otherwise scheduler_tick()'s spin_unlock can preempt!
       - irqs_disabled() macro introduced.
       - [ all other local_irq_enable() or sti instances conditional on
           CONFIG_DEBUG_IRQ_SCHEDULE are to fix false positive warnings. ]
       - fix buggy in_softirq(). Fortunately the bug made the test broader,
         which didnt result in algorithmical breakage, just suboptimal
         performance.
       - move do_softirq() processing into irq_exit() => this also fixes the
         softirq processing bugs present in apic.c IRQ handlers that did not
         test for softirqs after irq_exit().
       - simplify local_bh_enable().
      a6efb709
  2. 23 Jul, 2002 29 commits