1. 10 Mar, 2008 4 commits
    • Jesper Juhl's avatar
      PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver · b91aac29
      Jesper Juhl authored
      In drivers/pci/hotplug/ibmphp_ebda.c::ebda_rsrc_controller(), storage is
      allocated with kzalloc() and assigned to 'tmp_slot'.  Then lots of
      stuff, like ->flag, ->supported_speed etc is set in tmp_slot.  A bit
      further down there's then this test :
      
        if (!bus_info_ptr1) {
          rc = -ENODEV;
          goto error;
        }
      
      At this point, tmp_slot has not been assigned to anything, so when
      erroring-out we want to free it, but nothing at the 'error:' label
      free's 'tmp_slot' - and we can't really free 'tmp_slot' at 'error:'
      since we may jump to that label later when 'tmp_slot' *has* been used
      and we do not want it freed. So, the only sane option left seems to be
      to kfree(tmp_slot) just before jumping to the 'error:' label in the one
      place where this is what actually makes sense. The following patch does
      just that and thus kills off a tiny potential memory leak.
      Signed-off-by: default avatarJesper Juhl <jesper.juhl@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b91aac29
    • Andrew Morton's avatar
      PCI: rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE · 8647af71
      Andrew Morton authored
      a) DECLARE_PCI_DEVICE_TABLE is misnamed.  It is used to *define* tables,
         not to declare them.  It should be called DEFINE_PCI_DEVICE_TABLE.
      
      b) It's lame, anyway.  We could implement any number of such helper
         thingies, but we choose not to.
      
      
      So I wouldn't go adding code which uses this thing until it has a correct
      name, and until we've decided that we actually want to live with it.
      
      
      From: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8647af71
    • Linus Torvalds's avatar
      Linux 2.6.25-rc5 · cdeeeae0
      Linus Torvalds authored
      cdeeeae0
    • Jesper Juhl's avatar
      Do not include linux/backing-dev.h twice · 3426fadf
      Jesper Juhl authored
      Don't include linux/backing-dev.h twice in mm/filemap.c, it's pointless.
      Signed-off-by: default avatarJesper Juhl <jesper.juhl@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3426fadf
  2. 09 Mar, 2008 8 commits
  3. 08 Mar, 2008 3 commits
    • Roland McGrath's avatar
      Fix waitid si_code regression · 6efcae46
      Roland McGrath authored
      In commit ee7c82da ("wait_task_stopped:
      simplify and fix races with SIGCONT/SIGKILL/untrace"), the magic (short)
      cast when storing si_code was lost in wait_task_stopped.  This leaks the
      in-kernel CLD_* values that do not match what userland expects.
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6efcae46
    • Herbert Xu's avatar
      [CRYPTO] skcipher: Fix section mismatches · f13ba2f7
      Herbert Xu authored
      The previous patch to move chainiv and eseqiv into blkcipher created
      a section mismatch for the chainiv exit function which was also called
      from __init.  This patch removes the __exit marking on it.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      f13ba2f7
    • Roland McGrath's avatar
      x86_64: make ptrace always sign-extend orig_ax to 64 bits · 84c6f604
      Roland McGrath authored
      This makes 64-bit ptrace calls setting the 64-bit orig_ax field for a
      32-bit task sign-extend the low 32 bits up to 64.  This matches what a
      64-bit debugger expects when tracing a 32-bit task.
      
      This follows on my "x86_64 ia32 syscall restart fix".  This didn't
      matter until that was fixed.
      
      The debugger ignores or zeros the high half of every register slot it
      sets (including the orig_rax pseudo-register) uniformly.  It expects
      that the setting of the low 32 bits always has the same meaning as a
      32-bit debugger setting those same 32 bits with native 32-bit
      facilities.
      
      This never arose before because the syscall restart check never
      matched any -ERESTART* values due to lack of sign extension.  Before
      that fix, even 32-bit ptrace setting orig_eax to -1 failed to trigger
      the restart check anyway.  So this was never noticed as a regression
      of 64-bit debuggers vs 32-bit debuggers on the same 64-bit kernel.
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      [ Changed to just do the sign-extension unconditionally on x86-64,
        since orig_ax is always just a small integer and doesn't need
        the full 64-bit range ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      84c6f604
  4. 07 Mar, 2008 25 commits