1. 18 Jan, 2008 9 commits
  2. 17 Jan, 2008 27 commits
  3. 16 Jan, 2008 4 commits
    • Linus Torvalds's avatar
      Merge branch 'v2.6.24-rc7-lockdep' of... · d8c89eb3
      Linus Torvalds authored
      Merge branch 'v2.6.24-rc7-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep
      
      * 'v2.6.24-rc7-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:
        lockdep: more hardirq annotations for notify_die()
        lockdep: fix workqueue creation API lockdep interaction
        lockdep: fix internal double unlock during self-test
      d8c89eb3
    • Tejun Heo's avatar
      sysfs: fix bugs in sysfs_rename/move_dir() · 456ef155
      Tejun Heo authored
      sysfs_rename/move_dir() have the following bugs.
      
       - On dentry lookup failure, kfree() is called on ERR_PTR() value.
       - sysfs_move_dir() has an extra dput() on success path.
      
      Fix them.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      456ef155
    • Tejun Heo's avatar
      sysfs: make sysfs_lookup() return ERR_PTR(-ENOENT) on failed lookup · e49452c6
      Tejun Heo authored
      sysfs tries to keep dcache a strict subset of sysfs_dirent tree by
      shooting down dentries when a node is removed, that is, no negative
      dentry for sysfs.  However, the lookup function returned NULL and thus
      created negative dentries when the target node didn't exist.
      
      Make sysfs_lookup() return ERR_PTR(-ENOENT) on lookup failure.  This
      fixes the NULL dereference bug in sysfs_get_dentry() discovered by
      bluetooth rfcomm device moving around.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e49452c6
    • Peter Zijlstra's avatar
      lockdep: more hardirq annotations for notify_die() · fb1dac90
      Peter Zijlstra authored
      On Sat, 2007-12-29 at 18:06 +0100, Marcin Slusarz wrote:
      > Hi
      > Today I've got this (while i was upgrading my gentoo box):
      >
      > WARNING: at kernel/lockdep.c:2658 check_flags()
      > Pid: 21680, comm: conftest Not tainted 2.6.24-rc6 #63
      >
      > Call Trace:
      >  [<ffffffff80253457>] check_flags+0x1c7/0x1d0
      >  [<ffffffff80257217>] lock_acquire+0x57/0xc0
      >  [<ffffffff8024d5c0>] __atomic_notifier_call_chain+0x60/0xd0
      >  [<ffffffff8024d641>] atomic_notifier_call_chain+0x11/0x20
      >  [<ffffffff8024d67e>] notify_die+0x2e/0x30
      >  [<ffffffff8020da0a>] do_divide_error+0x5a/0xa0
      >  [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
      >  [<ffffffff80255b89>] trace_hardirqs_on+0xd9/0x180
      >  [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
      >  [<ffffffff80523c2d>] error_exit+0x0/0xa9
      >
      > possible reason: unannotated irqs-off.
      > irq event stamp: 4693
      > hardirqs last  enabled at (4693): [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
      > hardirqs last disabled at (4692): [<ffffffff80522c17>] trace_hardirqs_off_thunk+0x35/0x37
      > softirqs last  enabled at (3546): [<ffffffff80238343>] __do_softirq+0xb3/0xd0
      > softirqs last disabled at (3521): [<ffffffff8020c97c>] call_softirq+0x1c/0x30
      
      more early fixups for notify_die()..
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      fb1dac90