dentry = lookup_hash(&nd->last, nd->dentry); 
dentry = lookup_hash(nd); 
struct dentry *lookup_create(struct nameidata *nd, int is_dir){	struct dentry *dentry = ERR_PTR(-EEXIST);	down(&nd->dentry->d_inode->i_sem);	/*	 * Yucky last component or no last component at all?	 * (foo/., foo/.., /////)	 */	if (nd->last_type != LAST_NORM)		goto fail;	nd->flags &= ~LOOKUP_PARENT;	/*	 * Do the final lookup.	 */	dentry = lookup_hash(&nd->last, nd->dentry);	if (IS_ERR(dentry))		goto fail;	/*	 * Special case - lookup gave negative, but... we had foo/bar/	 * From the vfs_mknod() POV we just have a negative dentry -	 * all is fine. Let's be bastards - you had / on the end, you've	 * been asking for (non-existent) directory. -ENOENT for you.	 */	if (!is_dir && nd->last.name[nd->last.len] && !dentry->d_inode)		goto enoent;	return dentry;enoent:	dput(dentry);	dentry = ERR_PTR(-ENOENT);fail:	return dentry;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/49705b7743fd8f5632a95ec4c6547d169d27ac1f/namei.c/buggy/fs/namei.c