]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Dec 2016 01:08:22 +0000 (17:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Dec 2016 01:08:22 +0000 (17:08 -0800)
added patches:
batman-adv-check-for-alloc-errors-when-preparing-tt-local-data.patch
m68k-fix-ndelay-macro.patch

queue-4.4/batman-adv-check-for-alloc-errors-when-preparing-tt-local-data.patch [new file with mode: 0644]
queue-4.4/m68k-fix-ndelay-macro.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/batman-adv-check-for-alloc-errors-when-preparing-tt-local-data.patch b/queue-4.4/batman-adv-check-for-alloc-errors-when-preparing-tt-local-data.patch
new file mode 100644 (file)
index 0000000..0a4a3a1
--- /dev/null
@@ -0,0 +1,44 @@
+From c2d0f48a13e53b4747704c9e692f5e765e52041a Mon Sep 17 00:00:00 2001
+From: Sven Eckelmann <sven@narfation.org>
+Date: Wed, 30 Nov 2016 21:47:09 +0100
+Subject: batman-adv: Check for alloc errors when preparing TT local data
+
+From: Sven Eckelmann <sven@narfation.org>
+
+commit c2d0f48a13e53b4747704c9e692f5e765e52041a upstream.
+
+batadv_tt_prepare_tvlv_local_data can fail to allocate the memory for the
+new TVLV block. The caller is informed about this problem with the returned
+length of 0. Not checking this value results in an invalid memory access
+when either tt_data or tt_change is accessed.
+
+Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
+Fixes: 7ea7b4a14275 ("batman-adv: make the TT CRC logic VLAN specific")
+Signed-off-by: Sven Eckelmann <sven@narfation.org>
+Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/batman-adv/translation-table.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/net/batman-adv/translation-table.c
++++ b/net/batman-adv/translation-table.c
+@@ -2764,7 +2764,7 @@ static bool batadv_send_my_tt_response(s
+                                                            &tvlv_tt_data,
+                                                            &tt_change,
+                                                            &tt_len);
+-              if (!tt_len)
++              if (!tt_len || !tvlv_len)
+                       goto unlock;
+               /* Copy the last orig_node's OGM buffer */
+@@ -2782,7 +2782,7 @@ static bool batadv_send_my_tt_response(s
+                                                            &tvlv_tt_data,
+                                                            &tt_change,
+                                                            &tt_len);
+-              if (!tt_len)
++              if (!tt_len || !tvlv_len)
+                       goto out;
+               /* fill the rest of the tvlv with the real TT entries */
diff --git a/queue-4.4/m68k-fix-ndelay-macro.patch b/queue-4.4/m68k-fix-ndelay-macro.patch
new file mode 100644 (file)
index 0000000..c6db983
--- /dev/null
@@ -0,0 +1,50 @@
+From 7e251bb21ae08ca2e4fb28cc0981fac2685a8efa Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@free-electrons.com>
+Date: Fri, 28 Oct 2016 17:12:28 +0200
+Subject: m68k: Fix ndelay() macro
+
+From: Boris Brezillon <boris.brezillon@free-electrons.com>
+
+commit 7e251bb21ae08ca2e4fb28cc0981fac2685a8efa upstream.
+
+The current ndelay() macro definition has an extra semi-colon at the
+end of the line thus leading to a compilation error when ndelay is used
+in a conditional block without curly braces like this one:
+
+       if (cond)
+               ndelay(t);
+       else
+               ...
+
+which, after the preprocessor pass gives:
+
+       if (cond)
+               m68k_ndelay(t);;
+       else
+               ...
+
+thus leading to the following gcc error:
+
+       error: 'else' without a previous 'if'
+
+Remove this extra semi-colon.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
+Fixes: c8ee038bd1488 ("m68k: Implement ndelay() based on the existing udelay() logic")
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/m68k/include/asm/delay.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/m68k/include/asm/delay.h
++++ b/arch/m68k/include/asm/delay.h
+@@ -114,6 +114,6 @@ static inline void __udelay(unsigned lon
+  */
+ #define       HZSCALE         (268435456 / (1000000 / HZ))
+-#define ndelay(n) __delay(DIV_ROUND_UP((n) * ((((HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6), 1000));
++#define ndelay(n) __delay(DIV_ROUND_UP((n) * ((((HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6), 1000))
+ #endif /* defined(_M68K_DELAY_H) */
index c573d57268a5719804ae751439c5e4941b34160d..8eee46817d01ee9e19e4054067ef10f0354935d8 100644 (file)
@@ -10,3 +10,5 @@ crypto-mcryptd-check-mcryptd-algorithm-compatibility.patch
 can-raw-raw_setsockopt-limit-number-of-can_filter-that-can-be-set.patch
 can-peak-fix-bad-memory-access-and-free-sequence.patch
 arm64-futex.h-add-missing-pan-toggling.patch
+m68k-fix-ndelay-macro.patch
+batman-adv-check-for-alloc-errors-when-preparing-tt-local-data.patch