+--- 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) {