Subject: [merged] block-do-not-pass-disk-names-as-format-strings.patch removed 
from -mm tree
To: 
[email protected],[email protected],[email protected],[email protected]
From: [email protected]
Date: Mon, 08 Jul 2013 12:23:45 -0700


The patch titled
     Subject: block: do not pass disk names as format strings
has been removed from the -mm tree.  Its filename was
     block-do-not-pass-disk-names-as-format-strings.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
From: Kees Cook <[email protected]>
Subject: block: do not pass disk names as format strings

Disk names may contain arbitrary strings, so they must not be interpreted
as format strings. It seems that only md allows arbitrary strings to be
used for disk names, but this could allow for a local memory corruption
from uid 0 into ring 0.

CVE-2013-2851

Signed-off-by: Kees Cook <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

 block/genhd.c              |    2 +-
 drivers/block/nbd.c        |    3 ++-
 drivers/scsi/osd/osd_uld.c |    2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff -puN block/genhd.c~block-do-not-pass-disk-names-as-format-strings 
block/genhd.c
--- a/block/genhd.c~block-do-not-pass-disk-names-as-format-strings
+++ a/block/genhd.c
@@ -512,7 +512,7 @@ static void register_disk(struct gendisk
 
        ddev->parent = disk->driverfs_dev;
 
-       dev_set_name(ddev, disk->disk_name);
+       dev_set_name(ddev, "%s", disk->disk_name);
 
        /* delay uevents, until we scanned partition table */
        dev_set_uevent_suppress(ddev, 1);
diff -puN drivers/block/nbd.c~block-do-not-pass-disk-names-as-format-strings 
drivers/block/nbd.c
--- a/drivers/block/nbd.c~block-do-not-pass-disk-names-as-format-strings
+++ a/drivers/block/nbd.c
@@ -714,7 +714,8 @@ static int __nbd_ioctl(struct block_devi
                else
                        blk_queue_flush(nbd->disk->queue, 0);
 
-               thread = kthread_create(nbd_thread, nbd, nbd->disk->disk_name);
+               thread = kthread_create(nbd_thread, nbd, "%s",
+                                       nbd->disk->disk_name);
                if (IS_ERR(thread)) {
                        mutex_lock(&nbd->tx_lock);
                        return PTR_ERR(thread);
diff -puN 
drivers/scsi/osd/osd_uld.c~block-do-not-pass-disk-names-as-format-strings 
drivers/scsi/osd/osd_uld.c
--- a/drivers/scsi/osd/osd_uld.c~block-do-not-pass-disk-names-as-format-strings
+++ a/drivers/scsi/osd/osd_uld.c
@@ -485,7 +485,7 @@ static int osd_probe(struct device *dev)
        oud->class_dev.class = &osd_uld_class;
        oud->class_dev.parent = dev;
        oud->class_dev.release = __remove;
-       error = dev_set_name(&oud->class_dev, disk->disk_name);
+       error = dev_set_name(&oud->class_dev, "%s", disk->disk_name);
        if (error) {
                OSD_ERR("dev_set_name failed => %d\n", error);
                goto err_put_cdev;
_

Patches currently in -mm which might be from [email protected] are

origin.patch
linux-next.patch
drivers-mtd-chips-gen_probec-refactor-call-to-request_module.patch
isdn-clean-up-debug-format-string-usage.patch
binfmt_elfc-use-get_random_int-to-fix-entropy-depleting.patch

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to