lkml.org 
[lkml]   [2019]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 125/132] appletalk: Fix compile regression
    3.16.74-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Arnd Bergmann <arnd@arndb.de>

    commit 27da0d2ef998e222a876c0cec72aa7829a626266 upstream.

    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: Ben Hutchings <ben@decadent.org.uk>
    ---
    include/linux/atalk.h | 18 ++++++++++++++----
    1 file changed, 14 insertions(+), 4 deletions(-)

    --- 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__ */
    \
     
     \ /
      Last update: 2019-09-20 16:35    [W:4.231 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site