cifs: have cifs_cleanup_volume_info not take a double pointer
...as that makes for a cumbersome interface. Make it take a regular smb_vol pointer and rely on the caller to zero it out if needed. Signed-off-by: Jeff Layton <jlayton@redhat.com> Reviewed-by: Pavel Shilovsky <piastryyy@gmail.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
b2a0fa1520
commit
f9e59bcba2
|
@ -713,7 +713,7 @@ cifs_do_mount(struct file_system_type *fs_type,
|
||||||
out_super:
|
out_super:
|
||||||
deactivate_locked_super(sb);
|
deactivate_locked_super(sb);
|
||||||
out:
|
out:
|
||||||
cifs_cleanup_volume_info(&volume_info);
|
cifs_cleanup_volume_info(volume_info);
|
||||||
return root;
|
return root;
|
||||||
|
|
||||||
out_mountdata:
|
out_mountdata:
|
||||||
|
|
|
@ -154,7 +154,7 @@ extern int set_cifs_acl(struct cifs_ntsd *, __u32, struct inode *,
|
||||||
extern void cifs_setup_cifs_sb(struct smb_vol *pvolume_info,
|
extern void cifs_setup_cifs_sb(struct smb_vol *pvolume_info,
|
||||||
struct cifs_sb_info *cifs_sb);
|
struct cifs_sb_info *cifs_sb);
|
||||||
extern int cifs_match_super(struct super_block *, void *);
|
extern int cifs_match_super(struct super_block *, void *);
|
||||||
extern void cifs_cleanup_volume_info(struct smb_vol **pvolume_info);
|
extern void cifs_cleanup_volume_info(struct smb_vol *pvolume_info);
|
||||||
extern int cifs_setup_volume_info(struct smb_vol **pvolume_info,
|
extern int cifs_setup_volume_info(struct smb_vol **pvolume_info,
|
||||||
char *mount_data, const char *devname);
|
char *mount_data, const char *devname);
|
||||||
extern int cifs_mount(struct cifs_sb_info *, struct smb_vol *);
|
extern int cifs_mount(struct cifs_sb_info *, struct smb_vol *);
|
||||||
|
|
|
@ -2831,14 +2831,11 @@ is_path_accessible(int xid, struct cifs_tcon *tcon,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cifs_cleanup_volume_info(struct smb_vol **pvolume_info)
|
cifs_cleanup_volume_info(struct smb_vol *volume_info)
|
||||||
{
|
{
|
||||||
struct smb_vol *volume_info;
|
if (!volume_info)
|
||||||
|
|
||||||
if (!pvolume_info || !*pvolume_info)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
volume_info = *pvolume_info;
|
|
||||||
kfree(volume_info->username);
|
kfree(volume_info->username);
|
||||||
kzfree(volume_info->password);
|
kzfree(volume_info->password);
|
||||||
kfree(volume_info->UNC);
|
kfree(volume_info->UNC);
|
||||||
|
@ -2847,7 +2844,6 @@ cifs_cleanup_volume_info(struct smb_vol **pvolume_info)
|
||||||
kfree(volume_info->iocharset);
|
kfree(volume_info->iocharset);
|
||||||
kfree(volume_info->prepath);
|
kfree(volume_info->prepath);
|
||||||
kfree(volume_info);
|
kfree(volume_info);
|
||||||
*pvolume_info = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2990,7 +2986,7 @@ int cifs_setup_volume_info(struct smb_vol **pvolume_info, char *mount_data,
|
||||||
*pvolume_info = volume_info;
|
*pvolume_info = volume_info;
|
||||||
return rc;
|
return rc;
|
||||||
out:
|
out:
|
||||||
cifs_cleanup_volume_info(&volume_info);
|
cifs_cleanup_volume_info(volume_info);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue