From: Chris Wright <chrisw@osdl.org>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Chuck Wolber <chuckw@quantumlinux.com>,
torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk,
Kirill Korotaev <dev@sw.ru>, "Maxim Giryaev" <gem@sw.ru>,
Chris Wright <chrisw@osdl.org>
Subject: [PATCH 02/11] [PATCH] Lost sockfd_put() in routing_ioctl()
Date: Wed, 14 Sep 2005 18:03:45 -0700 [thread overview]
Message-ID: <20050915010401.789690000@localhost.localdomain> (raw)
In-Reply-To: 20050915010343.577985000@localhost.localdomain
[-- Attachment #1: lost-sockfd_put-in-32bit-compat-routing_ioctl.patch --]
[-- Type: text/plain, Size: 1359 bytes --]
-stable review patch. If anyone has any objections, please let us know.
------------------
This patch adds lost sockfd_put() in 32bit compat rounting_ioctl() on
64bit platforms
I believe this is a security issues, since user can fget() file as many
times as he wants to. So file refcounter can be overlapped and first
fput() will free resources though there will be still structures
pointing to the file, mnt, dentry etc.
Also fput() sets f_dentry and f_vfsmnt to NULL,
so other file users will OOPS.
The oops can be done under files_lock and others, so this can be an
exploitable DoS on SMP. Didn't checked it on practice actually.
Signed-Off-By: Kirill Korotaev <dev@sw.ru>
Signed-Off-By: Maxim Giryaev <gem@sw.ru>
Signed-off-by: Chris Wright <chrisw@osdl.org>
---
fs/compat_ioctl.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
Index: linux-2.6.13.y/fs/compat_ioctl.c
===================================================================
--- linux-2.6.13.y.orig/fs/compat_ioctl.c
+++ linux-2.6.13.y/fs/compat_ioctl.c
@@ -798,13 +798,16 @@ static int routing_ioctl(unsigned int fd
r = (void *) &r4;
}
- if (ret)
- return -EFAULT;
+ if (ret) {
+ ret = -EFAULT;
+ goto out;
+ }
set_fs (KERNEL_DS);
ret = sys_ioctl (fd, cmd, (unsigned long) r);
set_fs (old_fs);
+out:
if (mysock)
sockfd_put(mysock);
--
next prev parent reply other threads:[~2005-09-15 1:05 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-15 1:03 [PATCH 00/11] -stable review Chris Wright
2005-09-15 1:03 ` [PATCH 01/11] [PATCH] lost fput in 32bit ioctl on x86-64 Chris Wright
2005-09-15 1:03 ` Chris Wright [this message]
2005-09-15 1:03 ` [PATCH 03/11] [PATCH] forcedeth: Initialize link settings in every nv_open() Chris Wright
2005-09-15 1:03 ` [PATCH 04/11] hpt366: write the full 4 bytes of ROM address, not just low 1 byte Chris Wright
2005-09-15 2:18 ` David Lang
2005-09-15 2:26 ` Andrew Morton
2005-09-15 2:29 ` [PATCH 04/11] hpt366: write the full 4 bytes of ROM address,not " David Lang
2005-09-15 6:11 ` [PATCH 04/11] hpt366: write the full 4 bytes of ROM address, not " Chris Wright
2005-09-15 10:39 ` David Lang
2005-09-15 10:28 ` Martin Mares
2005-09-15 1:03 ` [PATCH 05/11] Sun GEM ethernet: enable and map PCI ROM properly Chris Wright
2005-09-15 1:03 ` [PATCH 06/11] [stable] [ROM 3/3] Sun HME: " Chris Wright
2005-09-15 1:03 ` [PATCH 07/11] [NETFILTER]: Fix DHCP + MASQUERADE problem Chris Wright
2005-09-15 1:03 ` [PATCH 08/11] jfs: jfs_delete_inode must call clear_inode Chris Wright
2005-09-15 1:03 ` [PATCH 09/11] [PATCH] Fix MPOL_F_VERIFY Chris Wright
2005-09-15 1:03 ` [PATCH 10/11] Fix up more strange byte writes to the PCI_ROM_ADDRESS config word Chris Wright
2005-09-15 1:03 ` [PATCH 11/11] USB: ftdi_sio: custom baud rate fix Chris Wright
2005-09-15 7:36 ` [PATCH 00/11] -stable review Alexander Nyberg
2005-09-15 20:04 ` Chris Wright
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050915010401.789690000@localhost.localdomain \
--to=chrisw@osdl.org \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=chuckw@quantumlinux.com \
--cc=dev@sw.ru \
--cc=gem@sw.ru \
--cc=jmforbes@linuxtx.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rdunlap@xenotime.net \
--cc=stable@kernel.org \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
--cc=zwane@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox