]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 4.9
authorSasha Levin <sashal@kernel.org>
Fri, 19 Apr 2019 13:48:35 +0000 (09:48 -0400)
committerSasha Levin <sashal@kernel.org>
Fri, 19 Apr 2019 13:48:35 +0000 (09:48 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.9/appletalk-fix-compile-regression.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/appletalk-fix-compile-regression.patch b/queue-4.9/appletalk-fix-compile-regression.patch
new file mode 100644 (file)
index 0000000..0606e3d
--- /dev/null
@@ -0,0 +1,69 @@
+From d6f10d1a8030eb915c07f1aeb264832f49b5c3d8 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Wed, 6 Mar 2019 11:52:36 +0100
+Subject: appletalk: Fix compile regression
+
+[ Upstream commit 27da0d2ef998e222a876c0cec72aa7829a626266 ]
+
+A bugfix just broke compilation of appletalk when CONFIG_SYSCTL
+is disabled:
+
+In file included from net/appletalk/ddp.c:65:
+net/appletalk/ddp.c: In function 'atalk_init':
+include/linux/atalk.h:164:34: error: expected expression before 'do'
+ #define atalk_register_sysctl()  do { } while(0)
+                                  ^~
+net/appletalk/ddp.c:1934:7: note: in expansion of macro 'atalk_register_sysctl'
+  rc = atalk_register_sysctl();
+
+This is easier to avoid by using conventional inline functions
+as stubs rather than macros. The header already has inline
+functions for other purposes, so I'm changing over all the
+macros for consistency.
+
+Fixes: 6377f787aeb9 ("appletalk: Fix use-after-free in atalk_proc_exit")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/linux/atalk.h | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/include/linux/atalk.h b/include/linux/atalk.h
+index 716d53799d1f..af43ed404ff4 100644
+--- a/include/linux/atalk.h
++++ b/include/linux/atalk.h
+@@ -153,16 +153,26 @@ extern int sysctl_aarp_resolve_time;
+ extern int atalk_register_sysctl(void);
+ extern void atalk_unregister_sysctl(void);
+ #else
+-#define atalk_register_sysctl()               do { } while(0)
+-#define atalk_unregister_sysctl()     do { } while(0)
++static inline int atalk_register_sysctl(void)
++{
++      return 0;
++}
++static inline void atalk_unregister_sysctl(void)
++{
++}
+ #endif
+ #ifdef CONFIG_PROC_FS
+ extern int atalk_proc_init(void);
+ extern void atalk_proc_exit(void);
+ #else
+-#define atalk_proc_init()     ({ 0; })
+-#define atalk_proc_exit()     do { } while(0)
++static inline int atalk_proc_init(void)
++{
++      return 0;
++}
++static inline void atalk_proc_exit(void)
++{
++}
+ #endif /* CONFIG_PROC_FS */
+ #endif /* __LINUX_ATALK_H__ */
+-- 
+2.19.1
+
index 5623684a93315f869dbe9d2272e65d7e424f8a98..45b9f07470de6608102e409b941c5a575da3d098 100644 (file)
@@ -48,3 +48,4 @@ include-linux-swap.h-use-offsetof-instead-of-custom-.patch
 tpm-tpm_crb-avoid-unaligned-reads-in-crb_recv.patch
 tools-include-adopt-linux-bits.h.patch
 net-stmmac-set-dma-ring-length-before-enabling-the-dma.patch
+appletalk-fix-compile-regression.patch