ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/routing/batman-adv/patches/0003-batman-adv-Fix-build-of-multicast-code-against-Linux.patch b/external/routing/batman-adv/patches/0003-batman-adv-Fix-build-of-multicast-code-against-Linux.patch
new file mode 100644
index 0000000..4a03e96
--- /dev/null
+++ b/external/routing/batman-adv/patches/0003-batman-adv-Fix-build-of-multicast-code-against-Linux.patch
@@ -0,0 +1,34 @@
+From: Sven Eckelmann <sven@narfation.org>
+Date: Fri, 14 May 2021 19:34:35 +0200
+Subject: batman-adv: Fix build of multicast code against Linux < 5.13
+
+Fixes: 007b4c4b031f ("batman-adv: convert ifmcaddr6 to RCU")
+Signed-off-by: Sven Eckelmann <sven@narfation.org>
+
+--- a/net/batman-adv/multicast.c
++++ b/net/batman-adv/multicast.c
+@@ -454,9 +454,14 @@ batadv_mcast_mla_softif_get_ipv6(struct
+ return 0;
+ }
+
++#if LINUX_VERSION_IS_LESS(5, 13, 0)
++ read_lock_bh(&in6_dev->lock);
++ for (pmc6 = in6_dev->mc_list; pmc6; pmc6 = pmc6->next) {
++#else
+ for (pmc6 = rcu_dereference(in6_dev->mc_list);
+ pmc6;
+ pmc6 = rcu_dereference(pmc6->next)) {
++#endif
+ if (IPV6_ADDR_MC_SCOPE(&pmc6->mca_addr) <
+ IPV6_ADDR_SCOPE_LINKLOCAL)
+ continue;
+@@ -485,6 +490,9 @@ batadv_mcast_mla_softif_get_ipv6(struct
+ hlist_add_head(&new->list, mcast_list);
+ ret++;
+ }
++#if LINUX_VERSION_IS_LESS(5, 13, 0)
++ read_unlock_bh(&in6_dev->lock);
++#endif
+ rcu_read_unlock();
+
+ return ret;