X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fext3%2Fnamei.c;h=1586807b81779ef9c02008e6828c9df50d4f000c;hb=a71ce8c6c9bf269b192f352ea555217815cf027e;hp=9bb046df827a7a7a4d694dad36d727a71237a652;hpb=60c9b2746f589b0b809582b0471cf30ad3ae439f;p=linux-2.6 diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c index 9bb046df82..1586807b81 100644 --- a/fs/ext3/namei.c +++ b/fs/ext3/namei.c @@ -1019,6 +1019,11 @@ static struct dentry *ext3_lookup(struct inode * dir, struct dentry *dentry, str if (!inode) return ERR_PTR(-EACCES); + + if (is_bad_inode(inode)) { + iput(inode); + return ERR_PTR(-ENOENT); + } } return d_splice_alias(inode, dentry); } @@ -1054,6 +1059,11 @@ struct dentry *ext3_get_parent(struct dentry *child) if (!inode) return ERR_PTR(-EACCES); + if (is_bad_inode(inode)) { + iput(inode); + return ERR_PTR(-ENOENT); + } + parent = d_alloc_anon(inode); if (!parent) { iput(inode);