1. 28 8月, 2006 3 次提交
    • A
      [PATCH] ext2: prevent div-by-zero on corrupted fs · 607eb266
      Andries Brouwer 提交于
      Mounting an ext2 filesystem with zero s_inodes_per_group will cause a
      divide error.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      607eb266
    • A
      [PATCH] Fix for minix crash · f5fb09fa
      Andries Brouwer 提交于
      Mounting a (corrupt) minix filesystem with zero s_zmap_blocks
      gives a spectacular crash on my 2.6.17.8 system, no doubt
      because minix/inode.c does an unconditional
      	minix_set_bit(0,sbi->s_zmap[0]->b_data);
      
      [akpm@osdl.org: make labels conistent while we're there]
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f5fb09fa
    • P
      [PATCH] lockdep: fix blkdev_open() warning · 6946bd63
      Peter Zijlstra 提交于
      On Wed, 2006-08-09 at 07:57 +0200, Rolf Eike Beer wrote:
      > =============================================
      > [ INFO: possible recursive locking detected ]
      > ---------------------------------------------
      > parted/7929 is trying to acquire lock:
      >  (&bdev->bd_mutex){--..}, at: [<c105eb8d>] __blkdev_put+0x1e/0x13c
      >
      > but task is already holding lock:
      >  (&bdev->bd_mutex){--..}, at: [<c105eec6>] do_open+0x72/0x3a8
      >
      > other info that might help us debug this:
      > 1 lock held by parted/7929:
      >  #0:  (&bdev->bd_mutex){--..}, at: [<c105eec6>] do_open+0x72/0x3a8
      > stack backtrace:
      >  [<c1003aad>] show_trace_log_lvl+0x58/0x15b
      >  [<c100495f>] show_trace+0xd/0x10
      >  [<c1004979>] dump_stack+0x17/0x1a
      >  [<c102dee5>] __lock_acquire+0x753/0x99c
      >  [<c102e3b0>] lock_acquire+0x4a/0x6a
      >  [<c1204501>] mutex_lock_nested+0xc8/0x20c
      >  [<c105eb8d>] __blkdev_put+0x1e/0x13c
      >  [<c105ecc4>] blkdev_put+0xa/0xc
      >  [<c105f18a>] do_open+0x336/0x3a8
      >  [<c105f21b>] blkdev_open+0x1f/0x4c
      >  [<c1057b40>] __dentry_open+0xc7/0x1aa
      >  [<c1057c91>] nameidata_to_filp+0x1c/0x2e
      >  [<c1057cd1>] do_filp_open+0x2e/0x35
      >  [<c1057dd7>] do_sys_open+0x38/0x68
      >  [<c1057e33>] sys_open+0x16/0x18
      >  [<c1002845>] sysenter_past_esp+0x56/0x8d
      
      OK, I'm having a look here; its all new to me so bear with me.
      
      blkdev_open() calls
        do_open(bdev, ...,BD_MUTEX_NORMAL) and takes
          mutex_lock_nested(&bdev->bd_mutex, BD_MUTEX_NORMAL)
      
      then something fails, and we're thrown to:
      
      out_first: where
          if (bdev != bdev->bd_contains)
            blkdev_put(bdev->bd_contains) which is
              __blkdev_put(bdev->bd_contains, BD_MUTEX_NORMAL) which does
                mutex_lock_nested(&bdev->bd_contains->bd_mutex, BD_MUTEX_NORMAL) <--- lockdep trigger
      
      When going to out_first, dbev->bd_contains is either bdev or whole, and
      since we take the branch it must be whole. So it seems to me the
      following patch would be the right one:
      
      [akpm@osdl.org: compile fix]
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Acked-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6946bd63
  2. 27 8月, 2006 1 次提交
  3. 25 8月, 2006 11 次提交
  4. 23 8月, 2006 1 次提交
  5. 21 8月, 2006 3 次提交
  6. 15 8月, 2006 4 次提交
  7. 10 8月, 2006 1 次提交
    • N
      [XFS] Fix xfs_free_extent related NULL pointer dereference. · 0e1edbd9
      Nathan Scott 提交于
      We recently fixed an out-of-space deadlock in XFS, and part of that fix
      involved the addition of the XFS_ALLOC_FLAG_FREEING flag to some of the
      space allocator calls to indicate they're freeing space, not allocating
      it. There was a missed xfs_alloc_fix_freelist condition test that did not
      correctly test "flags". The same test would also test an uninitialised
      structure field (args->userdata) and depending on its value either would
      or would not return early with a critical buffer pointer set to NULL.
      
      This fixes that up, adds asserts to several places to catch future botches
      of this nature, and skips sections of xfs_alloc_fix_freelist that are
      irrelevent for the space-freeing case.
      
      SGI-PV: 955303
      SGI-Modid: xfs-linux-melb:xfs-kern:26743a
      Signed-off-by: NNathan Scott <nathans@sgi.com>
      0e1edbd9
  8. 08 8月, 2006 7 次提交
  9. 06 8月, 2006 7 次提交
  10. 04 8月, 2006 2 次提交