Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3310988imu; Sun, 11 Nov 2018 12:07:11 -0800 (PST) X-Google-Smtp-Source: AJdET5dRzlBdvjordDq+FNX2xW7w693oSC/zl9NGme2TbzmqwjfZfPmSzgmVPvz1TwxVudSkt2vs X-Received: by 2002:a63:790e:: with SMTP id u14mr14906588pgc.452.1541966831304; Sun, 11 Nov 2018 12:07:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541966831; cv=none; d=google.com; s=arc-20160816; b=Z2knp+rOO3JIULyC/+ivhzCn665EiuVZ5o01cZ1ozqjq2GOcUzNBxHA5F5EX65kVvV ur+iSkWi8QFRWcasNgwfBFOHBhFf9Wsyz8q4/kn3ERaxOtrXZCSjQ+xmgTtUtTmWFEKt 7ao2ExcSeFRR/pTjUMOYDYmbCOBkTfD96Rz7wFo4i4RJoVSgbH/utbNUq9xuMgil+OtA 4e7vXan11jiecBzKMWA9ulNnCcLKlGis8lGrOGylyvXRmIDR6sf5sbTPwrlAH+9xpGVF lpuRIdyM6olLzlPzXj0pPpFi09e2NvEOvJXXwR6M2e3eOibAk2V8PwyUqAMxgIahAIp+ QOsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=48ZFXbqbHh6cfRpJUkd1hCUjRNqVdO2jFLdEGHLh+ro=; b=rVTYfOTUf2ICqBnX0Ceg2muBxGoMKbCXEQOewyMgM/eXkGGo99er/AqSKo7g6RVz/u PTzHQI5Dx5Z41YWR17ctgzw6VPm1uivnMROH63eFnPDfzRVPHBo/dzT3CrO3KOvp8wXP Lvpc2+Yh9BFP1GNo/nlnOupm+ZxvetKclMrUgGJzsjjixVjQ9z0hBSpeVDUyKAqGO6pT 5TxHvNhewTlwDVSUT0g3yOqgyZI9rkU90w4cYZWPog4qfTFk5OExdNPTEgXoLxNYkXOx ZBFuZ8LMhOZAW1Ez2PGlCKyiBk8c6MF8fRlEJxopXjVMnfMw/QAZZXlaFhofzLJTU6gm gl0A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w19si8645831pgf.573.2018.11.11.12.06.56; Sun, 11 Nov 2018 12:07:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731235AbeKLF4C (ORCPT + 99 others); Mon, 12 Nov 2018 00:56:02 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:51984 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728675AbeKLF4C (ORCPT ); Mon, 12 Nov 2018 00:56:02 -0500 Received: from [192.168.4.242] (helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gLvsz-0000oN-0O; Sun, 11 Nov 2018 19:59:09 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gLvsT-0001ca-Qu; Sun, 11 Nov 2018 19:58:37 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Markus Pargmann" , "Marek Lindner" Date: Sun, 11 Nov 2018 19:49:05 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) Subject: [PATCH 3.16 186/366] batman-adv: debugfs, avoid compiling for !DEBUG_FS In-Reply-To: X-SA-Exim-Connect-IP: 192.168.4.242 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.61-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Markus Pargmann commit 9bb218828c8f4fa6587af93e248903c96ce469d0 upstream. Normally the debugfs framework will return error pointer with -ENODEV for function calls when DEBUG_FS is not set. batman does not notice this error code and continues trying to create debugfs files and executes more code. We can avoid this code execution by disabling compiling debugfs.c when DEBUG_FS is not set. Signed-off-by: Markus Pargmann Signed-off-by: Marek Lindner Signed-off-by: Ben Hutchings --- net/batman-adv/Makefile | 2 +- net/batman-adv/debugfs.c | 8 -------- net/batman-adv/debugfs.h | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 9 deletions(-) --- a/net/batman-adv/Makefile +++ b/net/batman-adv/Makefile @@ -20,7 +20,7 @@ obj-$(CONFIG_BATMAN_ADV) += batman-adv.o batman-adv-y += bat_iv_ogm.o batman-adv-y += bitarray.o batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.o -batman-adv-y += debugfs.o +batman-adv-$(CONFIG_DEBUG_FS) += debugfs.o batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o batman-adv-y += fragmentation.o batman-adv-y += gateway_client.o --- a/net/batman-adv/debugfs.c +++ b/net/batman-adv/debugfs.c @@ -482,11 +482,7 @@ rem_attr: debugfs_remove_recursive(hard_iface->debug_dir); hard_iface->debug_dir = NULL; out: -#ifdef CONFIG_DEBUG_FS return -ENOMEM; -#else - return 0; -#endif /* CONFIG_DEBUG_FS */ } /** @@ -541,11 +537,7 @@ rem_attr: debugfs_remove_recursive(bat_priv->debug_dir); bat_priv->debug_dir = NULL; out: -#ifdef CONFIG_DEBUG_FS return -ENOMEM; -#else - return 0; -#endif /* CONFIG_DEBUG_FS */ } void batadv_debugfs_del_meshif(struct net_device *dev) --- a/net/batman-adv/debugfs.h +++ b/net/batman-adv/debugfs.h @@ -20,6 +20,8 @@ #define BATADV_DEBUGFS_SUBDIR "batman_adv" +#if IS_ENABLED(CONFIG_DEBUG_FS) + void batadv_debugfs_init(void); void batadv_debugfs_destroy(void); int batadv_debugfs_add_meshif(struct net_device *dev); @@ -27,4 +29,36 @@ void batadv_debugfs_del_meshif(struct ne int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface); void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface); +#else + +static inline void batadv_debugfs_init(void) +{ +} + +static inline void batadv_debugfs_destroy(void) +{ +} + +static inline int batadv_debugfs_add_meshif(struct net_device *dev) +{ + return 0; +} + +static inline void batadv_debugfs_del_meshif(struct net_device *dev) +{ +} + +static inline +int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface) +{ + return 0; +} + +static inline +void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface) +{ +} + +#endif + #endif /* _NET_BATMAN_ADV_DEBUGFS_H_ */