mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
mqueue: fix mq_open() file descriptor leak on user-space processes
commit 4294a8eedb upstream.
We leak fd on lookup_one_len() failure
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0dcc9985f3
commit
cdaab88937
|
|
@ -706,7 +706,7 @@ SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, mode_t, mode,
|
|||
dentry = lookup_one_len(name, ipc_ns->mq_mnt->mnt_root, strlen(name));
|
||||
if (IS_ERR(dentry)) {
|
||||
error = PTR_ERR(dentry);
|
||||
goto out_err;
|
||||
goto out_putfd;
|
||||
}
|
||||
mntget(ipc_ns->mq_mnt);
|
||||
|
||||
|
|
@ -744,7 +744,6 @@ SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, mode_t, mode,
|
|||
mntput(ipc_ns->mq_mnt);
|
||||
out_putfd:
|
||||
put_unused_fd(fd);
|
||||
out_err:
|
||||
fd = error;
|
||||
out_upsem:
|
||||
mutex_unlock(&ipc_ns->mq_mnt->mnt_root->d_inode->i_mutex);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user