]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2014 22:58:08 +0000 (15:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2014 22:58:08 +0000 (15:58 -0700)
added patches:
crypto-caam-add-allocation-failure-handling-in-sprintfcat-macro.patch

queue-3.4/crypto-caam-add-allocation-failure-handling-in-sprintfcat-macro.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/crypto-caam-add-allocation-failure-handling-in-sprintfcat-macro.patch b/queue-3.4/crypto-caam-add-allocation-failure-handling-in-sprintfcat-macro.patch
new file mode 100644 (file)
index 0000000..ef05f83
--- /dev/null
@@ -0,0 +1,40 @@
+From 27c5fb7a84242b66bf1e0b2fe6bf40d19bcc5c04 Mon Sep 17 00:00:00 2001
+From: Horia Geanta <horia.geanta@freescale.com>
+Date: Fri, 18 Apr 2014 13:01:42 +0300
+Subject: crypto: caam - add allocation failure handling in SPRINTFCAT macro
+
+From: Horia Geanta <horia.geanta@freescale.com>
+
+commit 27c5fb7a84242b66bf1e0b2fe6bf40d19bcc5c04 upstream.
+
+GFP_ATOMIC memory allocation could fail.
+In this case, avoid NULL pointer dereference and notify user.
+
+Cc: Kim Phillips <kim.phillips@freescale.com>
+Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/crypto/caam/error.c |   10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+--- a/drivers/crypto/caam/error.c
++++ b/drivers/crypto/caam/error.c
+@@ -16,9 +16,13 @@
+       char *tmp;                                              \
+                                                               \
+       tmp = kmalloc(sizeof(format) + max_alloc, GFP_ATOMIC);  \
+-      sprintf(tmp, format, param);                            \
+-      strcat(str, tmp);                                       \
+-      kfree(tmp);                                             \
++      if (likely(tmp)) {                                      \
++              sprintf(tmp, format, param);                    \
++              strcat(str, tmp);                               \
++              kfree(tmp);                                     \
++      } else {                                                \
++              strcat(str, "kmalloc failure in SPRINTFCAT");   \
++      }                                                       \
+ }
+ static void report_jump_idx(u32 status, char *outstr)
index 99394110b01aa0860e0a592cd79de0dc9aeef97b..c6b68b413888cc4f25856c427f96558a9e066099 100644 (file)
@@ -71,3 +71,4 @@ x86-64-modify_ldt-make-support-for-16-bit-segments-a-runtime-option.patch
 pci-shpchp-check-bridge-s-secondary-not-primary-bus-speed.patch
 acpi-blacklist-add-dmi_enable_osi_linux-quirk-for-asus-eee-pc-1015px.patch
 i2c-designware-mask-all-interrupts-during-i2c-controller-enable.patch
+crypto-caam-add-allocation-failure-handling-in-sprintfcat-macro.patch