1. 19 Nov, 2006 3 commits
  2. 17 Nov, 2006 4 commits
    • Dmitry Mishin's avatar
      Fix timer race in dst GC code · 9e9c7147
      Dmitry Mishin authored
      Replace add_timer() by mod_timer() in dst_run_gc
      in order to avoid BUG message.
      
         CPU1                            CPU2
      dst_run_gc()  entered           dst_run_gc() entered
      spin_lock(&dst_lock)                   .....
      del_timer(&dst_gc_timer)         fail to get lock
         ....                         mod_timer() <--- puts
                                                   timer back
                                                   to the list
      add_timer(&dst_gc_timer) <--- BUG because timer is in list already.
      
      Found during OpenVZ internal testing.
      
      At first we thought that it is OpenVZ specific as we
      added dst_run_gc(0) call in dst_dev_event(),
      but as Alexey pointed to me it is possible to trigger
      this condition in mainstream kernel.
      
      F.e. timer has fired on CPU2, but the handler was preeempted
      by an irq before dst_lock is tried.
      Meanwhile, someone on CPU1 adds an entry to gc list and
      starts the timer.
      If CPU2 was preempted long enough, this timer can expire
      simultaneously with resuming timer handler on CPU1, arriving
      exactly to the situation described.
      Signed-off-by: default avatarDmitry Mishin <dim@openvz.org>
      Signed-off-by: default avatarKirill Korotaev <dev@openvz.org>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      9e9c7147
    • Badari Pulavarty's avatar
      ext3 -nobh option causes oops · 770af3b4
      Badari Pulavarty authored
      For files other than IFREG, nobh option doesn't make sense.  Modifications
      to them are journalled and needs buffer heads to do that.  Without this
      patch, we get kernel oops in page_buffers().
      Signed-off-by: default avatarBadari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      770af3b4
    • Alexey Dobriyan's avatar
      ipmi_si_intf.c: fix "&& 0xff" typos · 39a2b41b
      Alexey Dobriyan authored
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      39a2b41b
    • Adrian Bunk's avatar
      security/seclvl.c: fix time wrap (CVE-2005-4352) · e6169b53
      Adrian Bunk authored
      initlvl=2 in seclvl gives the guarantee
      "Cannot decrement the system time".
      
      But it was possible to set the time to the maximum unixtime value
      (19 Jan 2038) resulting in a wrap to the minimum value.
      
      This patch fixes this by disallowing setting the time to any date
      after 2030 with initlvl=2.
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      e6169b53
  3. 16 Nov, 2006 1 commit
  4. 15 Nov, 2006 4 commits
  5. 11 Nov, 2006 4 commits
    • Adrian Bunk's avatar
      Linux 2.6.16.32-rc1 · ae92a0d0
      Adrian Bunk authored
      ae92a0d0
    • Christoph Lameter's avatar
      Fix longstanding load balancing bug in the scheduler · ef147950
      Christoph Lameter authored
      The scheduler will stop load balancing if the most busy processor contains
      processes pinned via processor affinity.
      
      The scheduler currently only does one search for busiest cpu.  If it cannot
      pull any tasks away from the busiest cpu because they were pinned then the
      scheduler goes into a corner and sulks leaving the idle processors idle.
      
      F.e.  If you have processor 0 busy running four tasks pinned via taskset,
      there are none on processor 1 and one just started two processes on
      processor 2 then the scheduler will not move one of the two processes away
      from processor 2.
      
      This patch fixes that issue by forcing the scheduler to come out of its
      corner and retrying the load balancing by considering other processors for
      load balancing.
      
      This patch was originally developed by John Hawkes and discussed at
      
          http://marc.theaimsgroup.com/?l=linux-kernel&m=113901368523205&w=2.
      
      I have removed extraneous material and gone back to equipping struct rq
      with the cpu the queue is associated with since this makes the patch much
      easier and it is likely that others in the future will have the same
      difficulty of figuring out which processor owns which runqueue.
      
      The overhead added through these patches is a single word on the stack if
      the kernel is configured to support 32 cpus or less (32 bit).  For 32 bit
      environments the maximum number of cpus that can be configued is 255 which
      would result in the use of 32 bytes additional on the stack.  On IA64 up to
      1k cpus can be configured which will result in the use of 128 additional
      bytes on the stack.  The maximum additional cache footprint is one
      cacheline.  Typically memory use will be much less than a cacheline and the
      additional cpumask will be placed on the stack in a cacheline that already
      contains other local variable.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      ef147950
    • Tejun Heo's avatar
      sata_sil24: add a new PCI ID for SiI 3124 · f9a198cc
      Tejun Heo authored
      Add a new PCI ID for SiI 3124.  Reported by Silicon Image.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      f9a198cc
    • Kirill Korotaev's avatar
      ia64/sparc: fix local DoS with corrupted ELFs (CVE-2006-4538) · 05c19c43
      Kirill Korotaev authored
      This patch prevents cross-region mappings
      on IA64 and SPARC which could lead to system crash.
      
      Adrian Bunk:
      Adapted to 2.6.16.
      Signed-Off-By: default avatarKirill Korotaev <dev@openvz.org>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      05c19c43
  6. 10 Nov, 2006 5 commits
  7. 09 Nov, 2006 8 commits
  8. 08 Nov, 2006 7 commits
  9. 07 Nov, 2006 4 commits