--- linux-2.6.7.orig/fs/namei.c 2005-04-01 11:14:26.000000000 +0300 +++ linux-2.6.7/fs/namei.c 2005-04-01 11:23:01.748305104 +0300 @@ -762,6 +762,13 @@ last_component: inode = nd->dentry->d_inode; /* fallthrough */ case 1: + if (lookup_flags & LOOKUP_DIRECTORY) { + err = -ENOTDIR; + if (!nd->dentry->d_inode->i_op || + !nd->dentry->d_inode->i_op->lookup) { + goto return_err; + } + } goto return_reval; } if (nd->dentry->d_op && nd->dentry->d_op->d_hash) {