]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/isofs/inode.c
isofs: mounting to regular file may succeed
[linux-2.6-omap-h63xx.git] / fs / isofs / inode.c
index 95c72aa818677b9ced909477aa80deedbd9232bb..043b470fd3b67f42c325dbb90997730b2a38c84d 100644 (file)
@@ -846,6 +846,15 @@ root_found:
                goto out_no_root;
        if (!inode->i_op)
                goto out_bad_root;
+
+       /* Make sure the root inode is a directory */
+       if (!S_ISDIR(inode->i_mode)) {
+               printk(KERN_WARNING
+                       "isofs_fill_super: root inode is not a directory. "
+                       "Corrupted media?\n");
+               goto out_iput;
+       }
+
        /* get the root dentry */
        s->s_root = d_alloc_root(inode);
        if (!(s->s_root))