Index: externfs.c =================================================================== --- externfs.c (revision 708) +++ externfs.c (working copy) @@ -844,7 +844,6 @@ return(-ENOMEM); err = (*ops->make_dir)(file, mode, current->fsuid, current->fsgid, mount); - kfree(file); inode = get_inode(ino->i_sb, dentry, ops, 1); if(IS_ERR(inode)){ @@ -852,6 +851,11 @@ goto out; } + err = read_name(inode, file); + kfree(file); + if(err) + goto out; + d_instantiate(dentry, inode); inode->i_nlink = 2; inode->i_mode = S_IFDIR | mode;