All of lore.kernel.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCH 1/7] batman-adv: prevent multiple ARP replies sent by gateways if dat enabled
@ 2016-02-25  6:28 Andreas Pape
  2016-02-25 10:30 ` Sven Eckelmann
       [not found] ` <4170150.MY2kasJMNI-2016-02-25-13-51-36@bentobox>
  0 siblings, 2 replies; 4+ messages in thread
From: Andreas Pape @ 2016-02-25  6:28 UTC (permalink / raw)
  To: b.a.t.m.a.n

This patch makes sure that only the backbone gw which has claimed the
remote destination for the ARP request answers the ARP request directly
if the MAC address is known due to the local DAT table. This prevents
multiple ARP replies in a common backbone if more than one gateway
already knows the remote mac searched for in the ARP request.

Signed-off-by: Andreas Pape <apape@phoenixcontact.com>
---
 net/batman-adv/bridge_loop_avoidance.c |   59 ++++++++++++++++++++++++++++++++
 net/batman-adv/bridge_loop_avoidance.h |    8 ++++
 net/batman-adv/distributed-arp-table.c |   15 ++++++++
 3 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 0a6c8b8..6c29ec2 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -1906,3 +1906,62 @@ out:
 		batadv_hardif_put(primary_if);
 	return 0;
 }
+
+/**
+ * batadv_bla_handle_local_claim
+ * @bat_priv: the bat priv with all the soft interface information
+ * @addr: mac address of which the claim status is checked
+ * @vid: the VLAN ID
+ *
+ * addr is checked if this address is claimed by the local device itself.
+ * If the address is not claimed at all, claim it.
+ *
+ * Return: true if bla is disabled or the mac is claimed by the device,
+ * false if the device addr is already claimed by another gateway
+ */
+bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, uint8_t *addr,
+		unsigned short vid)
+{
+	struct batadv_bla_claim search_claim;
+	struct batadv_bla_claim *claim = NULL;
+	struct batadv_hard_iface *primary_if = NULL;
+	bool ret = true;
+
+	if (!atomic_read(&bat_priv->bridge_loop_avoidance))
+		return ret;
+
+	primary_if = batadv_primary_if_get_selected(bat_priv);
+	if (!primary_if)
+		goto out;
+
+	/* First look if the mac address is claimed */
+	ether_addr_copy(search_claim.addr, addr);
+	search_claim.vid = vid;
+
+	claim = batadv_claim_hash_find(bat_priv,
+			  &search_claim);
+
+	/* If there is a claim and we are not owner of the claim,
+	 * return false;
+	 */
+	if (claim) {
+		if (!batadv_compare_eth(claim->backbone_gw->orig,
+				primary_if->net_dev->dev_addr))
+			ret = false;
+	} else {
+		/* If there is no claim, claim the device */
+		batadv_dbg(BATADV_DBG_BLA, bat_priv,
+				"Handle claim locally for currently not claimed mac %pM.\n",
+				search_claim.addr);
+
+		batadv_handle_claim(bat_priv, primary_if,
+				primary_if->net_dev->dev_addr, addr, vid);
+	}
+
+out:
+	if (claim)
+		batadv_claim_put(claim);
+	if (primary_if)
+		batadv_hardif_put(primary_if);
+	return ret;
+}
diff --git a/net/batman-adv/bridge_loop_avoidance.h b/net/batman-adv/bridge_loop_avoidance.h
index 579f0fa..c6d498b 100644
--- a/net/batman-adv/bridge_loop_avoidance.h
+++ b/net/batman-adv/bridge_loop_avoidance.h
@@ -46,6 +46,8 @@ void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
 void batadv_bla_status_update(struct net_device *net_dev);
 int batadv_bla_init(struct batadv_priv *bat_priv);
 void batadv_bla_free(struct batadv_priv *bat_priv);
+bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, u8 *addr,
+		unsigned short vid);

 #define BATADV_BLA_CRC_INIT	0
 #else /* ifdef CONFIG_BATMAN_ADV_BLA */
@@ -111,6 +113,12 @@ static inline void batadv_bla_free(struct batadv_priv *bat_priv)
 {
 }

+bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, u8 *addr,
+		unsigned short vid)
+{
+	return true;
+}
+
 #endif /* ifdef CONFIG_BATMAN_ADV_BLA */

 #endif /* ifndef _NET_BATMAN_ADV_BLA_H_ */
diff --git a/net/batman-adv/distributed-arp-table.c b/net/batman-adv/distributed-arp-table.c
index e96d7c7..aab9548 100644
--- a/net/batman-adv/distributed-arp-table.c
+++ b/net/batman-adv/distributed-arp-table.c
@@ -48,6 +48,7 @@
 #include "originator.h"
 #include "send.h"
 #include "translation-table.h"
+#include "bridge_loop_avoidance.h"

 static void batadv_dat_purge(struct work_struct *work);

@@ -1000,6 +1001,20 @@ bool batadv_dat_snoop_outgoing_arp_request(struct batadv_priv *bat_priv,
 			goto out;
 		}

+		/* If BLA is enabled, only send ARP replies if we have claimed
+		 * the destination for the ARP request or if no one else of
+		 * the backbone gws belonging to our backbone has claimed the
+		 * destination.
+		 */
+		if (!batadv_bla_handle_local_claim(bat_priv,
+				dat_entry->mac_addr, vid)) {
+			batadv_dbg(BATADV_DBG_DAT, bat_priv,
+				"Device %pM claimed by another backbone gw. Don't send ARP reply!",
+				dat_entry->mac_addr);
+			ret = true;
+			goto out;
+		}
+
 		skb_new = arp_create(ARPOP_REPLY, ETH_P_ARP, ip_src,
 				     bat_priv->soft_iface, ip_dst, hw_src,
 				     dat_entry->mac_addr, hw_src);
--
1.7.0.4



..................................................................
PHOENIX CONTACT ELECTRONICS GmbH

Sitz der Gesellschaft / registered office of the company: 31812 Bad Pyrmont
USt-Id-Nr.: DE811742156
Amtsgericht Hannover HRB 100528 / district court Hannover HRB 100528
Geschäftsführer / Executive Board: Roland Bent, Dr. Martin Heubeck
___________________________________________________________________
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren, jegliche anderweitige Verwendung sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
----------------------------------------------------------------------------------------------------
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure, distribution or other use of the material or parts thereof is strictly forbidden.
___________________________________________________________________

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [B.A.T.M.A.N.] [PATCH 1/7] batman-adv: prevent multiple ARP replies sent by gateways if dat enabled
  2016-02-25  6:28 [B.A.T.M.A.N.] [PATCH 1/7] batman-adv: prevent multiple ARP replies sent by gateways if dat enabled Andreas Pape
@ 2016-02-25 10:30 ` Sven Eckelmann
       [not found] ` <4170150.MY2kasJMNI-2016-02-25-13-51-36@bentobox>
  1 sibling, 0 replies; 4+ messages in thread
From: Sven Eckelmann @ 2016-02-25 10:30 UTC (permalink / raw)
  To: b.a.t.m.a.n


[-- Attachment #1.1: Type: text/plain, Size: 101597 bytes --]

=2D-nextPart4077687.BaxcCkiCPS
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

On Thursday 25 February 2016 07:28:07 Andreas Pape wrote:
> This patch makes sure that only the backbone gw which has claimed the
> remote destination for the ARP request answers the ARP request directly
> if the MAC address is known due to the local DAT table. This prevents
> multiple ARP replies in a common backbone if more than one gateway
> already knows the remote mac searched for in the ARP request.
> 
> Signed-off-by: Andreas Pape <apape@phoenixcontact.com>
> ---
>  net/batman-adv/bridge_loop_avoidance.c |   59 ++++++++++++++++++++++++++++++++
>  net/batman-adv/bridge_loop_avoidance.h |    8 ++++
>  net/batman-adv/distributed-arp-table.c |   15 ++++++++
>  3 files changed, 82 insertions(+), 0 deletions(-)

I will answer to the first patch only because this patchset doesn't have a
cover letter. But it is about the whole patchset.

First thing: Good that you could convince the IT department that you have to
use git-send-email as alternative mailer.

I have not checked the actual content of the patchset ("This patch makes" in
the commit messages looks odd) but just started the build_test [1] on your
patchset. It looks like your patchset doesn't build in some configurations.
See the attached mail for more details.

And the test run without your patches looked good [2].

Kind regards,
	Sven

[1] https://git.open-mesh.org/build_test.git
[2] https://lists.open-mesh.org/pipermail/linux-merge/2016-February/002983.html

=2D-nextPart4077687.BaxcCkiCPS
Content-Disposition: inline; filename="build-test_andreas-pape_bla-fixes.mbox"
Content-Transfer-Encoding: 7Bit
Content-Type: application/mbox; name="build-test_andreas-pape_bla-fixes.mbox"

From=20postmaster@open-mesh.org Thu Feb 25 10:24:49 2016
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: blabla Build check errors found: 2016-02-25
From: postmaster@open-mesh.org
To: sven
Date: Thu, 25 Feb 2016 11:24:49 +0100 (CET)

Name of failed tests
====================

 * bracket_align blabla ./net/batman-adv/bridge_loop_avoidance.c
 * bracket_align blabla ./net/batman-adv/bridge_loop_avoidance.h
 * bracket_align blabla ./net/batman-adv/distributed-arp-table.c
 * bracket_align blabla ./net/batman-adv/distributed-arp-table.h
 * bracket_align blabla ./net/batman-adv/routing.c
 * bracket_align blabla ./net/batman-adv/soft-interface.c
 * checkpatch blabla ./net/batman-adv/bridge_loop_avoidance.c
 * checkpatch blabla ./net/batman-adv/bridge_loop_avoidance.h
 * checkpatch blabla ./net/batman-adv/distributed-arp-table.c
 * checkpatch blabla ./net/batman-adv/distributed-arp-table.h
 * checkpatch blabla ./net/batman-adv/routing.c
 * checkpatch blabla ./net/batman-adv/soft-interface.c
 * kerneldoc blabla ./net/batman-adv/bridge_loop_avoidance.c
 * smatch blabla linux-3.0 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.1 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.10 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.11 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.12 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.13 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.14 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.15 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.16 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.16 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.16 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.16 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.17 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.17 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.17 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.17 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.18 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.18 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.18 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.18 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.19 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.19 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.19 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-3.19 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.3 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.4 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.5 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.6 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.7 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.8 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-3.9 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-4.0 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.0 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.0 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.0 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-4.1 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.1 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.1 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.1 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-4.2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-4.3 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.3 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.3 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.3 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * smatch blabla linux-4.4 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.4 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.4 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
 * smatch blabla linux-4.4 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n
 * sparse blabla linux-2.6.29 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.30 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.31 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.32 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.33 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.34 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.35 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.36 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.37 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.38 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-2.6.39 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.0 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.1 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.10 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.11 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.12 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.13 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.14 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.15 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.16 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-3.16 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.16 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.16 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.17 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-3.17 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.17 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.17 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.18 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-3.18 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.18 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.18 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.19 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-3.19 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.19 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-3.19 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.2 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.3 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.4 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.5 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.6 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.7 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.8 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-3.9 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-4.0 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-4.0 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.0 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.0 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-4.1 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-4.1 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.1 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.1 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-4.2 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-4.2 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.2 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.2 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-4.3 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-4.3 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.3 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.3 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * sparse blabla linux-4.4 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * sparse blabla linux-4.4 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.4 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * sparse blabla linux-4.4 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
 * unused_symbols blabla linux-3.16 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.16 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.16 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.17 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.17 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.17 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.18 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.18 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.18 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.19 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.19 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-3.19 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.0 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.0 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.0 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.1 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.1 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.1 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.2 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.2 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.2 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.3 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.3 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.3 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.4 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.4 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
 * unused_symbols blabla linux-4.4 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y

Output of different failed tests
================================

bracket_align blabla ./net/batman-adv/bridge_loop_avoidance.c
=2D------------------------------------------------------------

    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1199, was 41 but expected 36
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1203, was 41 but expected 36
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1204, was 41 but expected 36
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1655, was 25 but expected 28
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1656, was 25 but expected 28
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1658, was 33 but expected 37
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1659, was 33 but expected 37
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1942, was 17 but expected 36
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1961, was 27 but expected 40
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1968, was 33 but expected 41
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.c:1982, was 41 but expected 45


bracket_align blabla ./net/batman-adv/bridge_loop_avoidance.h
=2D------------------------------------------------------------

    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.h:50, was 17 but expected 36
    Found wrong alignment at ./net/batman-adv/bridge_loop_avoidance.h:117, was 17 but expected 36


bracket_align blabla ./net/batman-adv/distributed-arp-table.c
=2D------------------------------------------------------------

    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:375, was 34 but expected 29
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1028, was 33 but expected 52
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1030, was 33 but expected 36
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1031, was 33 but expected 36
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1124, was 33 but expected 29
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1125, was 33 but expected 29
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1127, was 41 but expected 44
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1128, was 41 but expected 44
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1129, was 41 but expected 44
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1130, was 41 but expected 44
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1264, was 25 but expected 28
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1265, was 25 but expected 28
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1266, was 25 but expected 28
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1285, was 25 but expected 28
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.c:1286, was 25 but expected 28


bracket_align blabla ./net/batman-adv/distributed-arp-table.h
=2D------------------------------------------------------------

    Found wrong alignment at ./net/batman-adv/distributed-arp-table.h:84, was 34 but expected 29
    Found wrong alignment at ./net/batman-adv/distributed-arp-table.h:178, was 34 but expected 29


bracket_align blabla ./net/batman-adv/routing.c
=2D----------------------------------------------

    Found wrong alignment at ./net/batman-adv/routing.c:908, was 33 but expected 36
    Found wrong alignment at ./net/batman-adv/routing.c:909, was 33 but expected 36
    Found wrong alignment at ./net/batman-adv/routing.c:910, was 33 but expected 36


bracket_align blabla ./net/batman-adv/soft-interface.c
=2D-----------------------------------------------------

    Found wrong alignment at ./net/batman-adv/soft-interface.c:423, was 65 but expected 40
    Found wrong alignment at ./net/batman-adv/soft-interface.c:434, was 49 but expected 58
    Found wrong alignment at ./net/batman-adv/soft-interface.c:436, was 49 but expected 56


checkpatch blabla ./net/batman-adv/bridge_loop_avoidance.c
=2D---------------------------------------------------------

    CHECK: Alignment should match open parenthesis
    #1199: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1199:
    +			batadv_dbg(BATADV_DBG_BLA, bat_priv,
    +					"bla_purge_claims(): timed out.\n");
    
    CHECK: Alignment should match open parenthesis
    #1203: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1203:
    +			batadv_dbg(BATADV_DBG_BLA, bat_priv,
    +					"bla_purge_claims(): %pM, vid %d\n",
    
    WARNING: quoted string split across lines
    #1655: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1655:
    +		batadv_dbg(BATADV_DBG_BLA, bat_priv, "bla_rx(): Unclaimed MAC %pM found. "
    +			"Claim it. Local: %s\n",
    
    WARNING: line over 80 characters
    #1656: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1656:
    +			ethhdr->h_source, batadv_is_my_client(bat_priv, ethhdr->h_source, vid) ? "yes" : "no");
    
    CHECK: Alignment should match open parenthesis
    #1658: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1658:
    +		batadv_handle_claim(bat_priv, primary_if,
    +				primary_if->net_dev->dev_addr,
    
    CHECK: Alignment should match open parenthesis
    #1942: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1942:
    +bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, uint8_t *addr,
    +		unsigned short vid)
    
    CHECK: Alignment should match open parenthesis
    #1961: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1961:
    +	claim = batadv_claim_hash_find(bat_priv,
    +			  &search_claim);
    
    CHECK: Alignment should match open parenthesis
    #1968: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1968:
    +		if (!batadv_compare_eth(claim->backbone_gw->orig,
    +				primary_if->net_dev->dev_addr))
    
    WARNING: quoted string split across lines
    #1978: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1978:
    +				   "bla_handle_local_claim(): Handle claim "
    +				   "locally for currently not claimed mac %pM.\n",
    
    WARNING: line over 80 characters
    #1982: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1982:
    +					primary_if->net_dev->dev_addr, addr, vid);
    
    CHECK: Alignment should match open parenthesis
    #1982: FILE: ./net/batman-adv/bridge_loop_avoidance.c:1982:
    +			batadv_handle_claim(bat_priv, primary_if,
    +					primary_if->net_dev->dev_addr, addr, vid);
    
    total: 0 errors, 4 warnings, 7 checks, 1992 lines checked


checkpatch blabla ./net/batman-adv/bridge_loop_avoidance.h
=2D---------------------------------------------------------

    CHECK: Alignment should match open parenthesis
    #50: FILE: ./net/batman-adv/bridge_loop_avoidance.h:50:
    +bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, u8 *addr,
    +		unsigned short vid);
    
    CHECK: Alignment should match open parenthesis
    #117: FILE: ./net/batman-adv/bridge_loop_avoidance.h:117:
    +bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, u8 *addr,
    +		unsigned short vid)
    
    total: 0 errors, 0 warnings, 2 checks, 124 lines checked


checkpatch blabla ./net/batman-adv/distributed-arp-table.c
=2D---------------------------------------------------------

    CHECK: Alignment should match open parenthesis
    #375: FILE: ./net/batman-adv/distributed-arp-table.c:375:
    +void batadv_dat_entry_check(struct batadv_priv *bat_priv, __be32 ip,
    +				 u8 *mac_addr, unsigned short vid)
    
    CHECK: Alignment should match open parenthesis
    #1028: FILE: ./net/batman-adv/distributed-arp-table.c:1028:
    +		if (!batadv_bla_handle_local_claim(bat_priv,
    +				dat_entry->mac_addr, vid)) {
    
    CHECK: Alignment should match open parenthesis
    #1030: FILE: ./net/batman-adv/distributed-arp-table.c:1030:
    +			batadv_dbg(BATADV_DBG_DAT, bat_priv,
    +				"Device %pM claimed by another backbone gw. Don't send ARP reply!",
    
    WARNING: line over 80 characters
    #1121: FILE: ./net/batman-adv/distributed-arp-table.c:1121:
    +			batadv_orig_hash_find(bat_priv, unicast_4addr_packet->src);
    
    WARNING: line over 80 characters
    #1123: FILE: ./net/batman-adv/distributed-arp-table.c:1123:
    +			if ((unicast_4addr_packet->u.packet_type == BATADV_UNICAST_4ADDR) &&
    
    WARNING: line over 80 characters
    #1124: FILE: ./net/batman-adv/distributed-arp-table.c:1124:
    +				(unicast_4addr_packet->subtype == BATADV_P_DAT_DHT_GET) &&
    
    CHECK: Alignment should match open parenthesis
    #1124: FILE: ./net/batman-adv/distributed-arp-table.c:1124:
    +			if ((unicast_4addr_packet->u.packet_type == BATADV_UNICAST_4ADDR) &&
    +				(unicast_4addr_packet->subtype == BATADV_P_DAT_DHT_GET) &&
    
    WARNING: line over 80 characters
    #1125: FILE: ./net/batman-adv/distributed-arp-table.c:1125:
    +				(batadv_bla_is_backbone_gw(skb, orig_node, hdr_size))) {
    
    WARNING: quoted string split across lines
    #1127: FILE: ./net/batman-adv/distributed-arp-table.c:1127:
    +				batadv_dbg(BATADV_DBG_DAT, bat_priv, "Doubled ARP request removed: "
    +					"ARP MSG = [src: %pM-%pI4 dst: %pM-%pI4]; originator: %pM\n",
    
    WARNING: line over 80 characters
    #1129: FILE: ./net/batman-adv/distributed-arp-table.c:1129:
    +					batadv_arp_hw_dst(skb, hdr_size), &ip_dst,
    
    WARNING: quoted string split across lines
    #1264: FILE: ./net/batman-adv/distributed-arp-table.c:1264:
    +		batadv_dbg(BATADV_DBG_DAT, bat_priv, "Doubled ARP reply removed: "
    +			"ARP MSG = [src: %pM-%pI4 dst: %pM-%pI4]; dat_entry: %pM-%pI4\n",
    
    CHECK: Alignment should match open parenthesis
    #1285: FILE: ./net/batman-adv/distributed-arp-table.c:1285:
    +		batadv_dbg(BATADV_DBG_DAT, bat_priv,
    +			"Device %pM claimed by another backbone gw. Drop ARP reply.\n",
    
    total: 0 errors, 7 warnings, 5 checks, 1359 lines checked


checkpatch blabla ./net/batman-adv/distributed-arp-table.h
=2D---------------------------------------------------------

    CHECK: Alignment should match open parenthesis
    #84: FILE: ./net/batman-adv/distributed-arp-table.h:84:
    +void batadv_dat_entry_check(struct batadv_priv *bat_priv, __be32 ip,
    +				 u8 *mac_addr, unsigned short vid);
    
    CHECK: Alignment should match open parenthesis
    #178: FILE: ./net/batman-adv/distributed-arp-table.h:178:
    +void batadv_dat_entry_check(struct batadv_priv *bat_priv, __be32 ip,
    +				 u8 *mac_addr, unsigned short vid)
    
    total: 0 errors, 0 warnings, 2 checks, 184 lines checked


checkpatch blabla ./net/batman-adv/routing.c
=2D-------------------------------------------

    CHECK: Alignment should match open parenthesis
    #908: FILE: ./net/batman-adv/routing.c:908:
    +			batadv_dbg(BATADV_DBG_BLA, bat_priv,
    +				"recv_unicast_packet(): Dropped unicast pkt received "
    
    WARNING: quoted string split across lines
    #909: FILE: ./net/batman-adv/routing.c:909:
    +				"recv_unicast_packet(): Dropped unicast pkt received "
    +				"from another backbone gw %pM.\n",
    
    total: 0 errors, 1 warnings, 1 checks, 1145 lines checked


checkpatch blabla ./net/batman-adv/soft-interface.c
=2D--------------------------------------------------

    CHECK: Alignment should match open parenthesis
    #423: FILE: ./net/batman-adv/soft-interface.c:423:
    +		batadv_dat_entry_check(bat_priv, iphdr->saddr, ethhdr->h_source,
    +								vid);
    
    CHECK: Alignment should match open parenthesis
    #436: FILE: ./net/batman-adv/soft-interface.c:436:
    +				batadv_dat_entry_check(bat_priv, iphdr->saddr,
    +						vhdr->h_source, vid);
    
    total: 0 errors, 0 warnings, 2 checks, 1176 lines checked


kerneldoc blabla ./net/batman-adv/bridge_loop_avoidance.c
=2D--------------------------------------------------------

    ./net/batman-adv/bridge_loop_avoidance.c:1930: warning: missing initial short description on line:
     * batadv_bla_handle_local_claim


smatch blabla linux-4.4 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y
=2D--------------------------------------------------------------------------

    net/batman-adv/routing.c:896 batadv_recv_unicast_packet warn: unused return: orig_node = batadv_orig_hash_find()
    net/batman-adv/soft-interface.c:433 batadv_interface_rx() warn: potential pointer math issue ('vhdr' is a 144 bit pointer)


sparse blabla linux-3.17 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
=2D------------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x50): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x60): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1e0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1f0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x130): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x4b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x4c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x800): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x810): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0xde0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0xdf0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1730): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-3.17 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D------------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.o: In function `batadv_bla_handle_local_claim':
    distributed-arp-table.c:(.text+0xd90): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x50): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1e0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x4b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x820): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0x1270): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x18e0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-3.17 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D------------------------------------------------------------------------

    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0xf0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1e0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x130): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x4b0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x820): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0x1270): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-3.18 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
=2D------------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x70): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x80): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1f0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x200): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x140): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x4c0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x4d0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x810): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x820): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0xe20): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0xe30): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x17a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-3.18 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D------------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.o: In function `batadv_bla_handle_local_claim':
    distributed-arp-table.c:(.text+0xd90): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x70): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1f0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x4c0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x830): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0x12a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1960): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-3.18 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D------------------------------------------------------------------------

    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x110): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1f0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x140): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x4c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x830): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0x12a0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.1 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x70): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x80): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1f0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x200): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x140): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x4c0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x4d0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x800): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x810): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0xe20): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0xe30): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1790): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.1 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.o: In function `batadv_bla_handle_local_claim':
    distributed-arp-table.c:(.text+0xd90): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x70): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1f0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x4c0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x820): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0x12a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1950): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.1 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x110): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1f0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x140): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x4c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x820): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0x12a0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4e0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.2 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x60): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x70): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1c0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1d0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x130): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x480): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x490): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x790): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x7a0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0xd80): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0xd90): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x15e0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.2 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.o: In function `batadv_bla_handle_local_claim':
    distributed-arp-table.c:(.text+0xca0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x60): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1c0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x480): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x7b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0x1200): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x17a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4b0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.2 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0xe0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x130): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x480): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x7c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0x1200): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4d0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.3 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x50): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x60): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x120): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x460): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x470): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x780): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x790): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0xd10): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0xd20): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1580): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.3 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.o: In function `batadv_bla_handle_local_claim':
    distributed-arp-table.c:(.text+0xc90): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x50): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x460): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x7a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0x11a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1730): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.3 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1b0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x120): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x460): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x7b0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0x11a0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.4 cfg: BLA=n DAT=n DEBUG=n NC=n MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x50): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0x60): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1c0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x120): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x450): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x460): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x780): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x790): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0xd10): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xf0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0xd20): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1590): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0xe0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.4 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/bridge_loop_avoidance.h:116:6: warning: symbol 'batadv_bla_handle_local_claim' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.o: In function `batadv_bla_handle_local_claim':
    distributed-arp-table.c:(.text+0xc80): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/hard-interface.o: In function `batadv_bla_handle_local_claim':
    hard-interface.c:(.text+0x50): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/main.o: In function `batadv_bla_handle_local_claim':
    main.c:(.text+0x1b0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/routing.o: In function `batadv_bla_handle_local_claim':
    routing.c:(.text+0x450): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_bla_handle_local_claim':
    soft-interface.c:(.text+0x7a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_bla_handle_local_claim':
    sysfs.c:(.text+0x11a0): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    net/batman-adv/translation-table.o: In function `batadv_bla_handle_local_claim':
    translation-table.c:(.text+0x1740): multiple definition of `batadv_bla_handle_local_claim'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4a0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.4 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D-----------------------------------------------------------------------

    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer
    net/batman-adv/distributed-arp-table.h:177:6: warning: symbol 'batadv_dat_entry_check' was not declared. Should it be static?
    net/batman-adv/hard-interface.o: In function `batadv_dat_entry_check':
    hard-interface.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/main.o: In function `batadv_dat_entry_check':
    main.c:(.text+0x1b0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/originator.o: In function `batadv_dat_entry_check':
    originator.c:(.text+0x120): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/routing.o: In function `batadv_dat_entry_check':
    routing.c:(.text+0x450): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/send.o: In function `batadv_dat_entry_check':
    send.c:(.text+0xd0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/soft-interface.o: In function `batadv_dat_entry_check':
    soft-interface.c:(.text+0x7b0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    net/batman-adv/sysfs.o: In function `batadv_dat_entry_check':
    sysfs.c:(.text+0x11a0): multiple definition of `batadv_dat_entry_check'
    net/batman-adv/debugfs.o:debugfs.c:(.text+0x4c0): first defined here
    make[2]: *** [net/batman-adv/batman-adv.o] Error 1
    make[1]: *** [_module_net/batman-adv] Error 2
    make: *** [all] Error 2


sparse blabla linux-4.4 cfg: BLA=y DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=n
=2D-----------------------------------------------------------------------

    net/batman-adv/soft-interface.c:432:33: warning: restricted __be16 degrades to integer


unused_symbols blabla linux-4.4 cfg: BLA=n DAT=y DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D--------------------------------------------------------------------------

    batadv_bla_handle_local_claim
    init_module


unused_symbols blabla linux-4.4 cfg: BLA=y DAT=n DEBUG=y NC=y MCAST=y BATMAN_V=y
=2D--------------------------------------------------------------------------

    batadv_bla_handle_local_claim
    batadv_dat_entry_check
    init_module


=2D-nextPart4077687.BaxcCkiCPS--
This is a multi-part message in MIME format.

[-- Attachment #1.2: Type: text/plain, Size: 1440 bytes --]

On Thursday 25 February 2016 07:28:07 Andreas Pape wrote:
> This patch makes sure that only the backbone gw which has claimed the
> remote destination for the ARP request answers the ARP request directly
> if the MAC address is known due to the local DAT table. This prevents
> multiple ARP replies in a common backbone if more than one gateway
> already knows the remote mac searched for in the ARP request.
> 
> Signed-off-by: Andreas Pape <apape@phoenixcontact.com>
> ---
>  net/batman-adv/bridge_loop_avoidance.c |   59 ++++++++++++++++++++++++++++++++
>  net/batman-adv/bridge_loop_avoidance.h |    8 ++++
>  net/batman-adv/distributed-arp-table.c |   15 ++++++++
>  3 files changed, 82 insertions(+), 0 deletions(-)

I will answer to the first patch only because this patchset doesn't have a
cover letter. But it is about the whole patchset.

First thing: Good that you could convince the IT department that you have to
use git-send-email as alternative mailer.

I have not checked the actual content of the patchset ("This patch makes" in
the commit messages looks odd) but just started the build_test [1] on your
patchset. It looks like your patchset doesn't build in some configurations.
See the attached mail for more details.

And the test run without your patches looked good [2].

Kind regards,
	Sven

[1] https://git.open-mesh.org/build_test.git
[2] https://lists.open-mesh.org/pipermail/linux-merge/2016-February/002983.html

[-- Attachment #1.3: build-test_andreas-pape_bla-fixes.mbox --]
[-- Type: application/mbox, Size: 99675 bytes --]

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [B.A.T.M.A.N.] Antwort: Re: [PATCH 1/7] batman-adv: prevent multiple ARP replies sent by gateways if dat enabled
       [not found] ` <4170150.MY2kasJMNI-2016-02-25-13-51-36@bentobox>
@ 2016-02-25 13:06   ` Andreas Pape
  2016-02-25 13:47     ` Sven Eckelmann
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Pape @ 2016-02-25 13:06 UTC (permalink / raw)
  To: Sven Eckelmann; +Cc: b.a.t.m.a.n

Hello Sven,

Sven Eckelmann <sven@narfation.org> schrieb am 25.02.2016 11:30:01:


> I will answer to the first patch only because this patchset doesn't have
a
> cover letter. But it is about the whole patchset.
>
> First thing: Good that you could convince the IT department that you
have to
> use git-send-email as alternative mailer.
>
> I have not checked the actual content of the patchset ("This patch
makes" in
> the commit messages looks odd) but just started the build_test [1] on
your
> patchset. It looks like your patchset doesn't build in some
configurations.
> See the attached mail for more details.
>

I wasn't aware that there is something like the build_test to be used
before
sending patches.... But I'm willing to learn.

Is there a documentation available how I can use this myself for testing
before
making another attempt to send the patches (including a cover letter)?

In my buildenvironment using an older kernel I have no issues. But of
course
I did not test every possible configuration....

> And the test run without your patches looked good [2].
>
> Kind regards,
>    Sven
>
> [1] https://git.open-mesh.org/build_test.git
> [2] https://lists.open-mesh.org/pipermail/linux-merge/2016-February/
> 002983.html
> [Anhang "build-test_andreas-pape_bla-fixes.mbox" gelöscht von
> Andreas Pape/Phoenix Contact] [Anhang "signature.asc" gelöscht von
> Andreas Pape/Phoenix Contact]


..................................................................
PHOENIX CONTACT ELECTRONICS GmbH

Sitz der Gesellschaft / registered office of the company: 31812 Bad Pyrmont
USt-Id-Nr.: DE811742156
Amtsgericht Hannover HRB 100528 / district court Hannover HRB 100528
Geschäftsführer / Executive Board: Roland Bent, Dr. Martin Heubeck
___________________________________________________________________
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren, jegliche anderweitige Verwendung sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
----------------------------------------------------------------------------------------------------
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure, distribution or other use of the material or parts thereof is strictly forbidden.
___________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [B.A.T.M.A.N.] Antwort: Re: [PATCH 1/7] batman-adv: prevent multiple ARP replies sent by gateways if dat enabled
  2016-02-25 13:06   ` [B.A.T.M.A.N.] Antwort: " Andreas Pape
@ 2016-02-25 13:47     ` Sven Eckelmann
  0 siblings, 0 replies; 4+ messages in thread
From: Sven Eckelmann @ 2016-02-25 13:47 UTC (permalink / raw)
  To: Andreas Pape; +Cc: b.a.t.m.a.n

[-- Attachment #1: Type: text/plain, Size: 2422 bytes --]

On Thursday 25 February 2016 14:06:39 Andreas Pape wrote:
> I wasn't aware that there is something like the build_test to be used
> before
> sending patches.... But I'm willing to learn.

No, build_test is not something which has be used. It is actually quite hacky
and only used in the daily tests (and by brave people still wanting to use
it).

But you should [1] compile your stuff with sparse. Install it and run the compile
with:

   make C=2 CHECK="sparse -Wsparse-all -Wno-ptr-subtraction-blows -D__CHECK_ENDIAN__"

You can ignore the "shadows an earlier one" in the external headers and the
one about __ret.

And you should definitely use the checkpatch.pl from linux-next:

    ~/linux-next/scripts/checkpatch.pl --strict 000*.patch

> Is there a documentation available how I can use this myself for testing
> before
> making another attempt to send the patches (including a cover letter)?

If you really want to test it with build_test then you have to clone it on
an amd64 system, install iwyu (3.5+), python and the standard build tools.
This example expects that you have a working mail server on your system
which at least can send mails to a local account (YOUR_MAIL_ACCOUNT). The
patches in YOUR_BATMAN_ADV_TREE should be in the master branch to avoid too
many changes checkstuff.sh.

    git clone git://git.open-mesh.org/build_test.git
    cd build_test
    git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git linux-next
    git --git-dir=linux-next/.git/ remote add net-next git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
    LINUX_REPOSITORY=`pwd`/linux-next ./generate_linux_headers.sh
    sudo mkdir linux-build
    sudo mount linux-build.img -o loop linux-build
    # edit checkstuff.sh and remove: testbranch "next"
    TO=YOUR_MAIL_ACCOUNT REMOTE=YOUR_BATMAN_ADV_TREE ./checkstuff.sh
    # fix all the stuff regarding sparse, cppcheck, smatch and try again:
    TO=YOUR_MAIL_ACCOUNT REMOTE=YOUR_BATMAN_ADV_TREE ./checkstuff.sh

Cover letter can be generated in git sendmail by running:

   git send-email --compose 0001-.... 0002-... ....

It is not really required. I just wanted to tell you that the result is not
really about this single patch. But please add all patches to the call of
`git send-email` to automatically create a single thread.

Kind regards,
	Sven

[1] https://www.open-mesh.org/projects/open-mesh/wiki/Contribute#Submitting-patches

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-02-25 13:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-25  6:28 [B.A.T.M.A.N.] [PATCH 1/7] batman-adv: prevent multiple ARP replies sent by gateways if dat enabled Andreas Pape
2016-02-25 10:30 ` Sven Eckelmann
     [not found] ` <4170150.MY2kasJMNI-2016-02-25-13-51-36@bentobox>
2016-02-25 13:06   ` [B.A.T.M.A.N.] Antwort: " Andreas Pape
2016-02-25 13:47     ` Sven Eckelmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.