From: Greg KH <gregkh@suse.de>
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>,
Dave Jones <davej@redhat.com>,
Chuck Wolber <chuckw@quantumlinux.com>,
Chris Wedgwood <reviews@ml.cw.f00f.org>,
Michael Krufky <mkrufky@linuxtv.org>,
Chuck Ebbert <cebbert@redhat.com>,
Domenico Andreoli <cavokz@gmail.com>,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
alan@lxorguk.ukuu.org.uk, Francois Romieu <romieu@fr.zoreil.com>,
Jeff Garzik <jgarzik@redhat.com>
Subject: [04/12] tehuti: check register size (CVE-2008-1675)
Date: Tue, 29 Apr 2008 11:49:32 -0700 [thread overview]
Message-ID: <20080429184932.GE24199@suse.de> (raw)
In-Reply-To: <20080429184911.GA24199@suse.de>
[-- Attachment #1: tehuti-check-register-size.patch --]
[-- Type: text/plain, Size: 1457 bytes --]
2.6.24-stable review patch. If anyone has any objections, please let us
know.
------------------
From: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/net/tehuti.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
--- a/drivers/net/tehuti.c
+++ b/drivers/net/tehuti.c
@@ -625,6 +625,12 @@ static void __init bdx_firmware_endianes
s_firmLoad[i] = CPU_CHIP_SWAP32(s_firmLoad[i]);
}
+static int bdx_range_check(struct bdx_priv *priv, u32 offset)
+{
+ return (offset > (u32) (BDX_REGS_SIZE / priv->nic->port_num)) ?
+ -EINVAL : 0;
+}
+
static int bdx_ioctl_priv(struct net_device *ndev, struct ifreq *ifr, int cmd)
{
struct bdx_priv *priv = ndev->priv;
@@ -646,6 +652,9 @@ static int bdx_ioctl_priv(struct net_dev
switch (data[0]) {
case BDX_OP_READ:
+ error = bdx_range_check(priv, data[1]);
+ if (error < 0)
+ return error;
data[2] = READ_REG(priv, data[1]);
DBG("read_reg(0x%x)=0x%x (dec %d)\n", data[1], data[2],
data[2]);
@@ -655,6 +664,11 @@ static int bdx_ioctl_priv(struct net_dev
break;
case BDX_OP_WRITE:
+ if (!capable(CAP_NET_ADMIN))
+ return -EPERM;
+ error = bdx_range_check(priv, data[1]);
+ if (error < 0)
+ return error;
WRITE_REG(priv, data[1], data[2]);
DBG("write_reg(0x%x, 0x%x)\n", data[1], data[2]);
break;
--
next prev parent reply other threads:[~2008-04-29 18:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20080429184543.308594866@mini.kroah.org>
2008-04-29 18:49 ` [00/12] 2.6.24-stable review Greg KH
2008-04-29 18:49 ` [01/12] splice: use mapping_gfp_mask Greg KH
2008-04-29 18:49 ` [02/12] fix oops on rmmod capidrv Greg KH
2008-04-29 18:49 ` [03/12] x86: Fix 32-bit x86 MSI-X allocation leakage Greg KH
2008-04-29 18:49 ` Greg KH [this message]
2008-04-29 18:49 ` [05/12] tehuti: move ioctl perm check closer to function start (CVE-2008-1675) Greg KH
2008-04-29 18:49 ` [06/12] USB: gadget: queue usb USB_CDC_GET_ENCAPSULATED_RESPONSE message Greg KH
2008-04-29 18:49 ` [07/12] JFFS2: Fix free space leak with in-band cleanmarkers Greg KH
2008-04-29 18:49 ` Greg KH
2008-04-29 18:49 ` [09/12] USB: remove broken usb-serial num_endpoints check Greg KH
2008-04-29 18:50 ` Greg KH
2008-04-29 18:50 ` [10/12] V4L: Fix VIDIOCGAP corruption in ivtv Greg KH
2008-04-29 18:50 ` [11/12] V4L: cx88: enable radio GPIO correctly Greg KH
2008-04-29 18:50 ` [12/12] ISDN: Do not validate ISDN net device address prior to interface-up Greg KH
2008-04-29 21:27 ` [00/12] 2.6.24-stable review Jörg-Volker Peetz
2008-04-29 22:45 ` Willy Tarreau
2008-04-30 3:21 ` Darren Salt
2008-05-01 3:39 ` [stable] " Greg KH
2008-05-02 15:24 ` Darren Salt
2008-05-08 17:27 ` Greg KH
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=20080429184932.GE24199@suse.de \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=cavokz@gmail.com \
--cc=cebbert@redhat.com \
--cc=chuckw@quantumlinux.com \
--cc=davej@redhat.com \
--cc=jgarzik@redhat.com \
--cc=jmforbes@linuxtx.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mkrufky@linuxtv.org \
--cc=rdunlap@xenotime.net \
--cc=reviews@ml.cw.f00f.org \
--cc=romieu@fr.zoreil.com \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.