From bd3ce1b94bbab0d1978692d0d66e3d21e094090e Mon Sep 17 00:00:00 2001 From: Sona Sarmadi Date: Wed, 9 Sep 2015 13:55:30 +0200 Subject: target: CVE-2014-4027 Explicitly clear ramdisk_mcp backend pages References https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4027 https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/ commit/?id=186f32e2096c7d9cd9106b8dedd79c596f4c8398 Signed-off-by: Sona Sarmadi --- .../linux/files/target-CVE-2014-4027.patch | 46 ++++++++++++++++++++++ recipes-kernel/linux/linux-qoriq_3.12.bb | 1 + 2 files changed, 47 insertions(+) create mode 100644 recipes-kernel/linux/files/target-CVE-2014-4027.patch diff --git a/recipes-kernel/linux/files/target-CVE-2014-4027.patch b/recipes-kernel/linux/files/target-CVE-2014-4027.patch new file mode 100644 index 0000000..0f8b49c --- /dev/null +++ b/recipes-kernel/linux/files/target-CVE-2014-4027.patch @@ -0,0 +1,46 @@ +From 186f32e2096c7d9cd9106b8dedd79c596f4c8398 Mon Sep 17 00:00:00 2001 +From: "Nicholas A. Bellinger" +Date: Mon, 16 Jun 2014 20:59:52 +0000 +Subject: [PATCH] target: Explicitly clear ramdisk_mcp backend pages + +[Note that a different patch to address the same issue went in during +v3.15-rc1 (commit 4442dc8a), but includes a bunch of other changes that +don't strictly apply to fixing the bug] + +This patch changes rd_allocate_sgl_table() to explicitly clear +ramdisk_mcp backend memory pages by passing __GFP_ZERO into +alloc_pages(). + +This addresses a potential security issue where reading from a +ramdisk_mcp could return sensitive information, and follows what +>= v3.15 does to explicitly clear ramdisk_mcp memory at backend +device initialization time. + +This fixes CVE-2014-4027 +Upstream-Status: Backport + +Reported-by: Jorge Daniel Sequeira Matias +Cc: Jorge Daniel Sequeira Matias +Signed-off-by: Nicholas Bellinger +Signed-off-by: Jiri Slaby +Signed-off-by: Sona Sarmadi +--- + drivers/target/target_core_rd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c +index 131327a..9f6bede 100644 +--- a/drivers/target/target_core_rd.c ++++ b/drivers/target/target_core_rd.c +@@ -179,7 +179,7 @@ static int rd_build_device_space(struct rd_dev *rd_dev) + - 1; + + for (j = 0; j < sg_per_table; j++) { +- pg = alloc_pages(GFP_KERNEL, 0); ++ pg = alloc_pages(GFP_KERNEL | __GFP_ZERO, 0); + if (!pg) { + pr_err("Unable to allocate scatterlist" + " pages for struct rd_dev_sg_table\n"); +-- +1.9.1 + diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bb b/recipes-kernel/linux/linux-qoriq_3.12.bb index d3510ac..e3b604b 100644 --- a/recipes-kernel/linux/linux-qoriq_3.12.bb +++ b/recipes-kernel/linux/linux-qoriq_3.12.bb @@ -30,6 +30,7 @@ SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \ file://0001-ALSA-CVE-2014-4656.patch \ file://0002-ALSA-CVE-2014-4656.patch \ file://futex-CVE-2014-3153.patch \ + file://target-CVE-2014-4027.patch \ " SRCREV = "6619b8b55796cdf0cec04b66a71288edd3057229" -- cgit v1.2.3-54-g00ecf