|
@@ -938,7 +938,7 @@ static const struct address_space_operations hostfs_link_aops = {
|
|
|
static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
|
|
|
{
|
|
|
struct inode *root_inode;
|
|
|
- char *name, *data = d;
|
|
|
+ char *host_root_path, *req_root = d;
|
|
|
int err;
|
|
|
|
|
|
sb->s_blocksize = 1024;
|
|
@@ -947,16 +947,16 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
|
|
|
sb->s_op = &hostfs_sbops;
|
|
|
|
|
|
/* NULL is printed as <NULL> by sprintf: avoid that. */
|
|
|
- if (data == NULL)
|
|
|
- data = "";
|
|
|
+ if (req_root == NULL)
|
|
|
+ req_root = "";
|
|
|
|
|
|
err = -ENOMEM;
|
|
|
- name = kmalloc(strlen(root_ino) + 1
|
|
|
- + strlen(data) + 1, GFP_KERNEL);
|
|
|
- if(name == NULL)
|
|
|
+ host_root_path = kmalloc(strlen(root_ino) + 1
|
|
|
+ + strlen(req_root) + 1, GFP_KERNEL);
|
|
|
+ if(host_root_path == NULL)
|
|
|
goto out;
|
|
|
|
|
|
- sprintf(name, "%s/%s", root_ino, data);
|
|
|
+ sprintf(host_root_path, "%s/%s", root_ino, req_root);
|
|
|
|
|
|
root_inode = iget(sb, 0);
|
|
|
if(root_inode == NULL)
|
|
@@ -966,10 +966,10 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
|
|
|
if(err)
|
|
|
goto out_put;
|
|
|
|
|
|
- HOSTFS_I(root_inode)->host_filename = name;
|
|
|
- /* Avoid that in the error path, iput(root_inode) frees again name through
|
|
|
- * hostfs_destroy_inode! */
|
|
|
- name = NULL;
|
|
|
+ HOSTFS_I(root_inode)->host_filename = host_root_path;
|
|
|
+ /* Avoid that in the error path, iput(root_inode) frees again
|
|
|
+ * host_root_path through hostfs_destroy_inode! */
|
|
|
+ host_root_path = NULL;
|
|
|
|
|
|
err = -ENOMEM;
|
|
|
sb->s_root = d_alloc_root(root_inode);
|
|
@@ -989,7 +989,7 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
|
|
|
out_put:
|
|
|
iput(root_inode);
|
|
|
out_free:
|
|
|
- kfree(name);
|
|
|
+ kfree(host_root_path);
|
|
|
out:
|
|
|
return(err);
|
|
|
}
|