Subject: [merged] block-do-not-pass-disk-names-as-format-strings.patch removed from -mm tree To: keescook@xxxxxxxxxxxx,axboe@xxxxxxxxx,stable@xxxxxxxxxxxxxxx,mm-commits@xxxxxxxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx 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 <keescook@xxxxxxxxxxxx> 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 <keescook@xxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- 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 keescook@xxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html