commit 3c94901887afeb84dc8cdff8314d7766d637920b
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date: Wed May 30 13:27:10 2007 -0400
odf_remove bug, check if unionfs dentry is not negative before trying to
read its i_count
diff --git a/fs/unionfs/odf.c b/fs/unionfs/odf.c
index
6c3fb3b137b9769b137303158f96a37b84e6aae7..39440ad61e985a4443cd0802ee42ebdd6609469f
100644
--- a/fs/unionfs/odf.c
+++ b/fs/unionfs/odf.c
@@ -1520,11 +1520,11 @@ int odf_remove(struct dentry *dentry, in
/* remove */
current->fsuid = 0;
current->fsgid = 0;
- if (S_ISDIR(odf_dentry->d_inode->i_mode)) {
+ if (S_ISDIR(odf_dentry->d_inode->i_mode))
err = odf_reclaim(dentry, 0);
- }
else {
- if (atomic_read(&dentry->d_inode->i_count) <= 1)
+ if (!dentry->d_inode ||
+ atomic_read(&dentry->d_inode->i_count) <= 1)
err = vfs_unlink(odf_dentry->d_parent->d_inode,
odf_dentry);
else
/* silly rename open files, so their ino does
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs