aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-06-11 12:59:15 +0000
committerJohn Crispin <blogic@openwrt.org>2014-06-11 12:59:15 +0000
commit2b08433100ece77f3b433c6c48bd83a78e35cffe (patch)
treea97120202fab614c44e03ee7a87bff4b94d992cb /target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch
parent41aefc93320d42ff4ae8baab83f61b60c6e65d2b (diff)
downloadmaster-187ad058-2b08433100ece77f3b433c6c48bd83a78e35cffe.tar.gz
master-187ad058-2b08433100ece77f3b433c6c48bd83a78e35cffe.tar.bz2
master-187ad058-2b08433100ece77f3b433c6c48bd83a78e35cffe.zip
kernel: backport the ubiblock patches from 3.14->3.10
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41120 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch')
-rw-r--r--target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch b/target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch
new file mode 100644
index 0000000000..86f0d63cd4
--- /dev/null
+++ b/target/linux/generic/patches-3.10/046-UBI-avoid-workqueue-format-string-leak.patch
@@ -0,0 +1,30 @@
+From bebfef150e0b8fa68704cddacf05b8c26462d565 Mon Sep 17 00:00:00 2001
+From: Kees Cook <keescook@chromium.org>
+Date: Mon, 7 Apr 2014 21:44:07 -0700
+Subject: [PATCH] UBI: avoid workqueue format string leak
+
+When building the name for the workqueue thread, make sure a format
+string cannot leak in from the disk name.
+
+Signed-off-by: Kees Cook <keescook@chromium.org>
+Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+---
+ drivers/mtd/ubi/block.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
+index 7ff473c..8d659e6 100644
+--- a/drivers/mtd/ubi/block.c
++++ b/drivers/mtd/ubi/block.c
+@@ -431,7 +431,7 @@ int ubiblock_create(struct ubi_volume_info *vi)
+ * Create one workqueue per volume (per registered block device).
+ * Rembember workqueues are cheap, they're not threads.
+ */
+- dev->wq = alloc_workqueue(gd->disk_name, 0, 0);
++ dev->wq = alloc_workqueue("%s", 0, 0, gd->disk_name);
+ if (!dev->wq)
+ goto out_free_queue;
+ INIT_WORK(&dev->work, ubiblock_do_work);
+--
+1.9.2
+