All of lore.kernel.org
 help / color / mirror / Atom feed
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;

-- 

  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.