nilfs2: fix memory leak in nilfs_ioctl_clean_segments
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Fri, 22 May 2009 11:36:21 +0000 (20:36 +0900)
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Fri, 22 May 2009 11:49:04 +0000 (20:49 +0900)
This fixes a new memory leak problem in garbage collection.  The
problem was brought by the bugfix patch ("nilfs2: fix lock order
reversal in nilfs_clean_segments ioctl").

Thanks to Kentaro Suzuki for finding this problem.

Reported-by: Kentaro Suzuki <k_suzuki@ms.sylc.co.jp>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
fs/nilfs2/ioctl.c

index 50ff3f2cdf24de8450340efca40acf6235aee23d..d6759b92006fe8b17d7c81ba79eb158e1665c0a9 100644 (file)
@@ -576,7 +576,7 @@ static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp,
        ret = nilfs_clean_segments(inode->i_sb, argv, kbufs);
 
  out_free:
-       while (--n > 0)
+       while (--n >= 0)
                vfree(kbufs[n]);
        kfree(kbufs[4]);
        return ret;