From 144ccb4c6f8049beab8fe13417906b60c3fa132f Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Fri, 19 Apr 2019 09:48:35 -0400 Subject: [PATCH] fixes for 4.9 Signed-off-by: Sasha Levin --- .../appletalk-fix-compile-regression.patch | 69 +++++++++++++++++++ queue-4.9/series | 1 + 2 files changed, 70 insertions(+) create mode 100644 queue-4.9/appletalk-fix-compile-regression.patch diff --git a/queue-4.9/appletalk-fix-compile-regression.patch b/queue-4.9/appletalk-fix-compile-regression.patch new file mode 100644 index 0000000000..0606e3da9e --- /dev/null +++ b/queue-4.9/appletalk-fix-compile-regression.patch @@ -0,0 +1,69 @@ +From d6f10d1a8030eb915c07f1aeb264832f49b5c3d8 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +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 +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + 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 + diff --git a/queue-4.9/series b/queue-4.9/series index 5623684a93..45b9f07470 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -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 -- 2.39.2