summaryrefslogtreecommitdiffstats
path: root/kernel/usermode_driver.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2022-03-02 22:11:23 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2022-05-20 05:25:47 +0200
commit279b192c23d2fc9cb9e8c3851d6cad968f51789f (patch)
tree7157657dde28c452abad2b74f74c9db706925bf8 /kernel/usermode_driver.c
parentm->mnt_root->d_inode->i_sb is a weird way to spell m->mnt_sb... (diff)
downloadlinux-279b192c23d2fc9cb9e8c3851d6cad968f51789f.tar.xz
linux-279b192c23d2fc9cb9e8c3851d6cad968f51789f.zip
blob_to_mnt(): kern_unmount() is needed to undo kern_mount()
plain mntput() won't do. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/usermode_driver.c')
-rw-r--r--kernel/usermode_driver.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/usermode_driver.c b/kernel/usermode_driver.c
index 9dae1f648713..8303f4c7ca71 100644
--- a/kernel/usermode_driver.c
+++ b/kernel/usermode_driver.c
@@ -28,7 +28,7 @@ static struct vfsmount *blob_to_mnt(const void *data, size_t len, const char *na
file = file_open_root_mnt(mnt, name, O_CREAT | O_WRONLY, 0700);
if (IS_ERR(file)) {
- mntput(mnt);
+ kern_unmount(mnt);
return ERR_CAST(file);
}
@@ -38,7 +38,7 @@ static struct vfsmount *blob_to_mnt(const void *data, size_t len, const char *na
if (err >= 0)
err = -ENOMEM;
filp_close(file, NULL);
- mntput(mnt);
+ kern_unmount(mnt);
return ERR_PTR(err);
}