[kernel] r18694 - in dists/trunk/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Wed Feb 15 15:08:09 UTC 2012


Author: benh
Date: Wed Feb 15 15:08:07 2012
New Revision: 18694

Log:
relay: prevent integer overflow in relay_open()

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/relay-prevent-integer-overflow-in-relay_open.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/base

Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	Wed Feb 15 15:07:39 2012	(r18693)
+++ dists/trunk/linux-2.6/debian/changelog	Wed Feb 15 15:08:07 2012	(r18694)
@@ -28,6 +28,7 @@
   [ Ben Hutchings ]
   * Change linux-image dependencies to allow kmod as an alternative to
     module-init-tools
+  * relay: prevent integer overflow in relay_open()
 
  -- Bastian Blank <waldi at debian.org>  Mon, 06 Feb 2012 11:22:07 +0100
 

Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/relay-prevent-integer-overflow-in-relay_open.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/relay-prevent-integer-overflow-in-relay_open.patch	Wed Feb 15 15:08:07 2012	(r18694)
@@ -0,0 +1,48 @@
+From f6302f1bcd75a042df69866d98b8d775a668f8f1 Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter at oracle.com>
+Date: Fri, 10 Feb 2012 09:03:58 +0100
+Subject: relay: prevent integer overflow in relay_open()
+
+From: Dan Carpenter <dan.carpenter at oracle.com>
+
+commit f6302f1bcd75a042df69866d98b8d775a668f8f1 upstream.
+
+"subbuf_size" and "n_subbufs" come from the user and they need to be
+capped to prevent an integer overflow.
+
+Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
+Signed-off-by: Jens Axboe <axboe at kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
+
+---
+ kernel/relay.c |   10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+--- a/kernel/relay.c
++++ b/kernel/relay.c
+@@ -164,10 +164,14 @@ depopulate:
+  */
+ static struct rchan_buf *relay_create_buf(struct rchan *chan)
+ {
+-	struct rchan_buf *buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
+-	if (!buf)
++	struct rchan_buf *buf;
++
++	if (chan->n_subbufs > UINT_MAX / sizeof(size_t *))
+ 		return NULL;
+ 
++	buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
++	if (!buf)
++		return NULL;
+ 	buf->padding = kmalloc(chan->n_subbufs * sizeof(size_t *), GFP_KERNEL);
+ 	if (!buf->padding)
+ 		goto free_buf;
+@@ -574,6 +578,8 @@ struct rchan *relay_open(const char *bas
+ 
+ 	if (!(subbuf_size && n_subbufs))
+ 		return NULL;
++	if (subbuf_size > UINT_MAX / n_subbufs)
++		return NULL;
+ 
+ 	chan = kzalloc(sizeof(struct rchan), GFP_KERNEL);
+ 	if (!chan)

Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base	Wed Feb 15 15:07:39 2012	(r18693)
+++ dists/trunk/linux-2.6/debian/patches/series/base	Wed Feb 15 15:08:07 2012	(r18694)
@@ -77,3 +77,4 @@
 + features/all/hwmon-it87-Add-IT8728F-support.patch
 + bugfix/arm/ARM-ixp4xx-mtd-oops.patch
 
++ bugfix/all/relay-prevent-integer-overflow-in-relay_open.patch



More information about the Kernel-svn-changes mailing list