if(err) goto out_put; 
if(err){ /* No iput in this case because the dput does that for us */ dput(sb->s_root); sb->s_root = NULL; goto out_free; } 
static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent){	struct inode *root_inode;	char *name, *data = d;	int err;	sb->s_blocksize = 1024;	sb->s_blocksize_bits = 10;	sb->s_magic = HOSTFS_SUPER_MAGIC;	sb->s_op = &hostfs_sbops;	if((data == NULL) || (*data == '\0'))		data = root_ino;	err = -ENOMEM;	name = kmalloc(strlen(data) + 1, GFP_KERNEL);	if(name == NULL)		goto out;	strcpy(name, data);	root_inode = iget(sb, 0);	if(root_inode == NULL)		goto out_free;	err = init_inode(root_inode, NULL);	if(err)		goto out_put;	HOSTFS_I(root_inode)->host_filename = name;	err = -ENOMEM;	sb->s_root = d_alloc_root(root_inode);	if(sb->s_root == NULL)		goto out_put;	err = read_inode(root_inode);	if(err)		goto out_put;	return(0); out_put:	iput(root_inode); out_free:	kfree(name); out:	return(err);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/51a141104a37369be2822f423ed4444aa34d26a2/hostfs_kern.c/clean/fs/hostfs/hostfs_kern.c