Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d757d71b authored by Al Viro's avatar Al Viro
Browse files

cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()



all callers of cifs_umount() proceed to do the same thing; pull it into
cifs_umount() itself.

Acked-by: default avatarPavel Shilovsky <piastryyy@gmail.com>
Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 98ab494d
Loading
Loading
Loading
Loading
+1 −14
Original line number Diff line number Diff line
@@ -171,9 +171,6 @@ static void cifs_kill_sb(struct super_block *sb)
	struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
	kill_anon_super(sb);
	cifs_umount(cifs_sb);
	kfree(cifs_sb->mountdata);
	unload_nls(cifs_sb->local_nls);
	kfree(cifs_sb);
}

static int
@@ -685,15 +682,12 @@ cifs_do_mount(struct file_system_type *fs_type,
	if (IS_ERR(sb)) {
		root = ERR_CAST(sb);
		cifs_umount(cifs_sb);
		goto out_cifs_sb;
		goto out;
	}

	if (sb->s_fs_info) {
		cFYI(1, "Use existing superblock");
		cifs_umount(cifs_sb);
		kfree(cifs_sb->mountdata);
		unload_nls(cifs_sb->local_nls);
		kfree(cifs_sb);
		goto out_shared;
	}

@@ -725,13 +719,6 @@ cifs_do_mount(struct file_system_type *fs_type,

out_super:
	deactivate_locked_super(sb);
	goto out;

out_cifs_sb:
	kfree(cifs_sb->mountdata);
	unload_nls(cifs_sb->local_nls);
	kfree(cifs_sb);

out:
	cifs_cleanup_volume_info(&volume_info);
	return root;
+3 −0
Original line number Diff line number Diff line
@@ -3362,6 +3362,9 @@ cifs_umount(struct cifs_sb_info *cifs_sb)
	spin_unlock(&cifs_sb->tlink_tree_lock);

	bdi_destroy(&cifs_sb->bdi);
	kfree(cifs_sb->mountdata);
	unload_nls(cifs_sb->local_nls);
	kfree(cifs_sb);
}

int cifs_negotiate_protocol(unsigned int xid, struct cifs_ses *ses)