<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Neil Horman &lt;nhorman@redhat.com&gt;

Patch to clean up missing overflow check in get_blkdev_list.  The printf
which adds the "Block Devices" string in /proc/devices can overflow the
presented page if get_chrdev_list eats up the entire 4k space.

Signed-off-by: Neil Horman &lt;nhorman@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 drivers/block/genhd.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/block/genhd.c~clean-up-missing-overflow-check-in-get_blkdev_list drivers/block/genhd.c
--- devel/drivers/block/genhd.c~clean-up-missing-overflow-check-in-get_blkdev_list	2005-08-17 21:27:51.000000000 -0700
+++ devel-akpm/drivers/block/genhd.c	2005-08-17 21:27:51.000000000 -0700
@@ -45,7 +45,7 @@ int get_blkdev_list(char *p, int used)
 	struct blk_major_name *n;
 	int i, len;
 
-	len = sprintf(p, "\nBlock devices:\n");
+	len = snprintf(p, (PAGE_SIZE-used), "\nBlock devices:\n");
 
 	down(&amp;block_subsys_sem);
 	for (i = 0; i &lt; ARRAY_SIZE(major_names); i++) {
_
</pre></body></html>