[PATCH 2/3] JFS: Check for invalid inodes in jfs_delete_inode

[email protected] (Dave Kleikamp) Wed, 10 Aug 2005 11:46:28 -0500 (CDT)
Newsgroups gmane.comp.file-systems.jfs.patches
Message-ID <[email protected]>
JFS: Check for invalid inodes in jfs_delete_inode

Some error paths may iput an invalid inode with i_nlink=0.  jfs should
not try to actually delete such an inode.

Signed-off-by: Dave Kleikamp <[email protected]>

---
commit 30db1ae8640d3527ca7ac8df4bcbf14ccc6ae9cd
tree f42fc0f8fc07dcd0c2cc15aa31566a321a8f2a30
parent da28c12089dfcfb8695b6b555cdb8e03dda2b690
author Dave Kleikamp <[email protected]> Mon, 01 Aug 2005 16:54:26 -0500
committer Dave Kleikamp <[email protected]> Mon, 01 Aug 2005 16:54:26 -0500

 fs/jfs/inode.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -128,6 +128,10 @@ void jfs_delete_inode(struct inode *inod
 {
 	jfs_info("In jfs_delete_inode, inode = 0x%p", inode);
 
+	if (is_bad_inode(inode) ||
+	    (JFS_IP(inode)->fileset != cpu_to_le32(FILESYSTEM_I)))
+			return;
+
 	if (test_cflag(COMMIT_Freewmap, inode))
 		jfs_free_zero_link(inode);
 


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf