public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] uio: fix allocating minor id for uio device
@ 2011-03-27  8:00 Hillf Danton
  2011-03-28 21:45 ` Hans J. Koch
  0 siblings, 1 reply; 6+ messages in thread
From: Hillf Danton @ 2011-03-27  8:00 UTC (permalink / raw)
  To: linux-kernel

The number of uio devices that could be used should be less than
UIO_MAX_DEVICES by design,
and this work guards any cases in which id more than UIO_MAX_DEVICES
is utilized.

Signed-off-by: Hillf Danton <dhillf@gmail.com>
---

--- a/drivers/uio/uio.c	2011-01-05 08:50:20.000000000 +0800
+++ b/drivers/uio/uio.c	2011-03-27 15:05:26.000000000 +0800
@@ -381,7 +381,13 @@ static int uio_get_minor(struct uio_devi
 			retval = -ENOMEM;
 		goto exit;
 	}
-	idev->minor = id & MAX_ID_MASK;
+	if (id < UIO_MAX_DEVICES)
+		idev->minor = id;
+	else {
+		printk(KERN_ERR "uio: too many uio devices\n");
+		retval = -EINVAL;
+		idr_remove(&uio_idr, id);
+	}
 exit:
 	mutex_unlock(&minor_lock);
 	return retval;

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH] uio: fix allocating minor id for uio device
@ 2011-03-27  7:22 zhdxzx
  0 siblings, 0 replies; 6+ messages in thread
From: zhdxzx @ 2011-03-27  7:22 UTC (permalink / raw)
  To: linux-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=GBK, Size: 859 bytes --]

The number of uio devices that could be used should be less than UIO_MAX_DEVICES by design,
and this work guards any cases in which id more than UIO_MAX_DEVICES is utilized.

Signed-off-by: Hillf Danton <dhillf@gmail.com>
---

--- a/drivers/uio/uio.c	2011-01-05 08:50:20.000000000 +0800
+++ b/drivers/uio/uio.c	2011-03-27 15:05:26.000000000 +0800
@@ -381,7 +381,13 @@ static int uio_get_minor(struct uio_devi
 			retval = -ENOMEM;
 		goto exit;
 	}
-	idev->minor = id & MAX_ID_MASK;
+	if (id < UIO_MAX_DEVICES)
+		idev->minor = id;
+	else {
+		printk(KERN_ERR "uio: too many uio devices\n");
+		retval = -EINVAL;
+		idr_remove(&uio_idr, id);
+	}
 exit:
 	mutex_unlock(&minor_lock);
 	return retval;
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-03-31 17:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-27  8:00 [PATCH] uio: fix allocating minor id for uio device Hillf Danton
2011-03-28 21:45 ` Hans J. Koch
2011-03-29  8:40   ` Wolfram Sang
2011-03-31 12:38   ` Hillf Danton
2011-03-31 17:55     ` Hans J. Koch
  -- strict thread matches above, loose matches on Subject: below --
2011-03-27  7:22 zhdxzx

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox