Переглянути джерело

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 <shaggy@austin.ibm.com>
Dave Kleikamp 20 роки тому
батько
коміт
30db1ae864
1 змінених файлів з 4 додано та 0 видалено
  1. 4 0
      fs/jfs/inode.c

+ 4 - 0
fs/jfs/inode.c

@@ -128,6 +128,10 @@ void jfs_delete_inode(struct inode *inode)
 {
 	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);