From 69c94b3f9f7d5f20e802e99baf4386ad05a13432 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 7 Jan 2015 16:48:51 +0100 Subject: [PATCH] Update batman-adv and alfred to v2014.4 --- ...ate-batman-adv-and-alfred-to-v2014.4.patch | 52 ++++++++ .../0002-Update-batman-adv-to-v2014.3.patch | 36 ----- ...tch => 0002-alfred-adjust-intervals.patch} | 8 +- ...-adv-introduce-no_rebroadcast-option.patch | 10 +- ...tches-from-the-upstream-maint-branch.patch | 126 ------------------ 5 files changed, 61 insertions(+), 171 deletions(-) create mode 100644 patches/packages/routing/0001-Update-batman-adv-and-alfred-to-v2014.4.patch delete mode 100644 patches/packages/routing/0002-Update-batman-adv-to-v2014.3.patch rename patches/packages/routing/{0001-alfred-adjust-intervals.patch => 0002-alfred-adjust-intervals.patch} (82%) delete mode 100644 patches/packages/routing/0004-batman-adv-add-two-more-patches-from-the-upstream-maint-branch.patch diff --git a/patches/packages/routing/0001-Update-batman-adv-and-alfred-to-v2014.4.patch b/patches/packages/routing/0001-Update-batman-adv-and-alfred-to-v2014.4.patch new file mode 100644 index 00000000..e46c8c2c --- /dev/null +++ b/patches/packages/routing/0001-Update-batman-adv-and-alfred-to-v2014.4.patch @@ -0,0 +1,52 @@ +From: Matthias Schiffer +Date: Wed, 7 Jan 2015 16:40:43 +0100 +Subject: Update batman-adv and alfred to v2014.4 + +diff --git a/alfred/Makefile b/alfred/Makefile +index 648a5ef..0a5fcac 100644 +--- a/alfred/Makefile ++++ b/alfred/Makefile +@@ -11,9 +11,9 @@ include $(TOPDIR)/rules.mk + # The latest alfred git hash in PKG_REV can be obtained from http://git.open-mesh.org/alfred.git + # + PKG_NAME:=alfred +-PKG_VERSION:=2014.3.0 ++PKG_VERSION:=2014.4.0 + PKG_RELEASE:=0 +-PKG_MD5SUM:=b8ab5677ed73d817b02b0e4fae10357a ++PKG_MD5SUM:=053cb5d9e7ca9384598e82944343dea2 + + PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz + PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION) +diff --git a/batctl/Makefile b/batctl/Makefile +index ae22286..1009b03 100644 +--- a/batctl/Makefile ++++ b/batctl/Makefile +@@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk + + PKG_NAME:=batctl + +-PKG_VERSION:=2014.2.0 ++PKG_VERSION:=2014.4.0 + PKG_RELEASE:=1 +-PKG_MD5SUM:=c196cf95b7324d9123b701a56b06b31d ++PKG_MD5SUM:=f3a14565699313258ee6ba3de783eb0a + + PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz + PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION) +diff --git a/batman-adv/Makefile b/batman-adv/Makefile +index 889dea7..0d5ed33 100644 +--- a/batman-adv/Makefile ++++ b/batman-adv/Makefile +@@ -10,9 +10,9 @@ include $(TOPDIR)/rules.mk + + PKG_NAME:=batman-adv + +-PKG_VERSION:=2014.2.0 ++PKG_VERSION:=2014.4.0 + PKG_RELEASE:=1 +-PKG_MD5SUM:=1243029b3a3e2f4fa721d1a59c2faaf5 ++PKG_MD5SUM:=b1518e84ce530883d224c6ca4c673ce8 + + PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz + PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION) diff --git a/patches/packages/routing/0002-Update-batman-adv-to-v2014.3.patch b/patches/packages/routing/0002-Update-batman-adv-to-v2014.3.patch deleted file mode 100644 index 50d4299c..00000000 --- a/patches/packages/routing/0002-Update-batman-adv-to-v2014.3.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Matthias Schiffer -Date: Sat, 30 Aug 2014 19:46:55 +0200 -Subject: Update batman-adv to v2014.3 - -diff --git a/batctl/Makefile b/batctl/Makefile -index ae22286..43c9098 100644 ---- a/batctl/Makefile -+++ b/batctl/Makefile -@@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk - - PKG_NAME:=batctl - --PKG_VERSION:=2014.2.0 -+PKG_VERSION:=2014.3.0 - PKG_RELEASE:=1 --PKG_MD5SUM:=c196cf95b7324d9123b701a56b06b31d -+PKG_MD5SUM:=7d2b8c129424c014d020c4b1a2add31b - - PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz - PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION) -diff --git a/batman-adv/Makefile b/batman-adv/Makefile -index 889dea7..6103cd2 100644 ---- a/batman-adv/Makefile -+++ b/batman-adv/Makefile -@@ -10,9 +10,9 @@ include $(TOPDIR)/rules.mk - - PKG_NAME:=batman-adv - --PKG_VERSION:=2014.2.0 -+PKG_VERSION:=2014.3.0 - PKG_RELEASE:=1 --PKG_MD5SUM:=1243029b3a3e2f4fa721d1a59c2faaf5 -+PKG_MD5SUM:=e9ee1d42ff4b0254699c779668054bed - - PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz - PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION) diff --git a/patches/packages/routing/0001-alfred-adjust-intervals.patch b/patches/packages/routing/0002-alfred-adjust-intervals.patch similarity index 82% rename from patches/packages/routing/0001-alfred-adjust-intervals.patch rename to patches/packages/routing/0002-alfred-adjust-intervals.patch index 707dd68c..c8773add 100644 --- a/patches/packages/routing/0001-alfred-adjust-intervals.patch +++ b/patches/packages/routing/0002-alfred-adjust-intervals.patch @@ -1,16 +1,16 @@ From: Matthias Schiffer -Date: Sat, 26 Jul 2014 18:58:22 +0200 +Date: Wed, 7 Jan 2015 16:45:09 +0100 Subject: alfred: adjust intervals diff --git a/alfred/patches/0001-alfred-adjust-intervals.patch b/alfred/patches/0001-alfred-adjust-intervals.patch new file mode 100644 -index 0000000..e8ffd3a +index 0000000..a8e0b4d --- /dev/null +++ b/alfred/patches/0001-alfred-adjust-intervals.patch @@ -0,0 +1,15 @@ +--- a/alfred.h ++++ b/alfred.h -+@@ -30,10 +30,10 @@ ++@@ -32,10 +32,10 @@ + #include "list.h" + #include "packet.h" + @@ -21,5 +21,5 @@ index 0000000..e8ffd3a +-#define ALFRED_SERVER_TIMEOUT 60 ++#define ALFRED_SERVER_TIMEOUT 180 + #define ALFRED_DATA_TIMEOUT 600 -+ #define ALFRED_SOCK_PATH "/var/run/alfred.sock" ++ #define ALFRED_SOCK_PATH_DEFAULT "/var/run/alfred.sock" + #define NO_FILTER -1 diff --git a/patches/packages/routing/0003-batman-adv-introduce-no_rebroadcast-option.patch b/patches/packages/routing/0003-batman-adv-introduce-no_rebroadcast-option.patch index 62b19dae..d310fa12 100644 --- a/patches/packages/routing/0003-batman-adv-introduce-no_rebroadcast-option.patch +++ b/patches/packages/routing/0003-batman-adv-introduce-no_rebroadcast-option.patch @@ -1,15 +1,15 @@ From: Matthias Schiffer -Date: Fri, 22 Aug 2014 13:52:42 +0200 +Date: Wed, 7 Jan 2015 16:48:06 +0100 Subject: batman-adv: introduce 'no_rebroadcast' option diff --git a/batman-adv/patches/0001-batman-adv-introduce-no_rebroadcast-option.patch b/batman-adv/patches/0001-batman-adv-introduce-no_rebroadcast-option.patch new file mode 100644 -index 0000000..cb5c633 +index 0000000..cd79917 --- /dev/null +++ b/batman-adv/patches/0001-batman-adv-introduce-no_rebroadcast-option.patch @@ -0,0 +1,185 @@ -+From 0c8001036a191efd3aa30493ba7e31f9eceb21e1 Mon Sep 17 00:00:00 2001 -+Message-Id: <0c8001036a191efd3aa30493ba7e31f9eceb21e1.1418604208.git.mschiffer@universe-factory.net> ++From 5ba3f1eac041857deabe39432fdfe1a584bbdd81 Mon Sep 17 00:00:00 2001 ++Message-Id: <5ba3f1eac041857deabe39432fdfe1a584bbdd81.1420645650.git.mschiffer@universe-factory.net> +From: =?UTF-8?q?Linus=20L=C3=BCssing?= +Date: Tue, 24 Sep 2013 04:36:27 +0200 +Subject: [PATCH] batman-adv: introduce 'no_rebroadcast' option @@ -191,5 +191,5 @@ index 0000000..cb5c633 + + /** +-- -+2.1.3 ++2.2.1 + diff --git a/patches/packages/routing/0004-batman-adv-add-two-more-patches-from-the-upstream-maint-branch.patch b/patches/packages/routing/0004-batman-adv-add-two-more-patches-from-the-upstream-maint-branch.patch deleted file mode 100644 index 8230e61c..00000000 --- a/patches/packages/routing/0004-batman-adv-add-two-more-patches-from-the-upstream-maint-branch.patch +++ /dev/null @@ -1,126 +0,0 @@ -From: Matthias Schiffer -Date: Mon, 15 Dec 2014 01:44:23 +0100 -Subject: batman-adv: add two more patches from the upstream 'maint' branch - -diff --git a/batman-adv/patches/0002-batman-adv-Fix-double-fetch-in-RCU-version-of-hlist_.patch b/batman-adv/patches/0002-batman-adv-Fix-double-fetch-in-RCU-version-of-hlist_.patch -new file mode 100644 -index 0000000..6fb2e63 ---- /dev/null -+++ b/batman-adv/patches/0002-batman-adv-Fix-double-fetch-in-RCU-version-of-hlist_.patch -@@ -0,0 +1,54 @@ -+From 2cbadf647c3836ad1cf62ec5554fbeee7b3d6ecd Mon Sep 17 00:00:00 2001 -+Message-Id: <2cbadf647c3836ad1cf62ec5554fbeee7b3d6ecd.1418604208.git.mschiffer@universe-factory.net> -+In-Reply-To: <0c8001036a191efd3aa30493ba7e31f9eceb21e1.1418604208.git.mschiffer@universe-factory.net> -+References: <0c8001036a191efd3aa30493ba7e31f9eceb21e1.1418604208.git.mschiffer@universe-factory.net> -+From: Sven Eckelmann -+Date: Mon, 3 Nov 2014 23:16:19 +0100 -+Subject: [PATCH] batman-adv: Fix double fetch in RCU version of hlist_*entry* -+ -+The backported (<3.9) version of hlist_for_each_entry_rcu and -+hlist_for_each_entry_safe uses the new macro hlist_entry_safe. It is called -+with an ACCESS_ONCE parameter for the first parameter ptr. This disallows -+merging of the two loads which the current version of the macro uses. -+ -+This is problematic because this macro must only generate one load. Otherwise -+with two contexts (or CPUs) following could happen: -+ -+1. context 1 fetches the ptr to the last entry in hlist_entry_safe() and -+ accepts this non-NULL ptr -+ -+2. context 2 deletes the last entry and terminates the list with NULL -+ -+3. context 1 re-fetches the pointer, doesn't check for zero, calculates the -+ entry based on a NULL pointer -+ -+4. context 1 crashes because it tries to load/write data from/to the invalid -+ address -+ -+Instead use a single load to a temporary variable and do the NULL-check and -+calculation based on that one. -+ -+Signed-off-by: Sven Eckelmann -+Signed-off-by: Marek Lindner -+--- -+ compat.h | 4 +++- -+ 1 file changed, 3 insertions(+), 1 deletion(-) -+ -+diff --git a/compat.h b/compat.h -+index 5eb5fe6..79ba39b 100644 -+--- a/compat.h -++++ b/compat.h -+@@ -345,7 +345,9 @@ static int __batadv_interface_tx(struct sk_buff *skb, \ -+ dev->master;\ -+ }) -+ #define hlist_entry_safe(ptr, type, member) \ -+- (ptr) ? hlist_entry(ptr, type, member) : NULL -++ ({ typeof(ptr) ____ptr = (ptr); \ -++ ____ptr ? hlist_entry(____ptr, type, member) : NULL; \ -++ }) -+ -+ #undef hlist_for_each_entry -+ #define hlist_for_each_entry(pos, head, member) \ -+-- -+2.1.3 -+ -diff --git a/batman-adv/patches/0003-batman-adv-fix-delayed-foreign-originator-recognitio.patch b/batman-adv/patches/0003-batman-adv-fix-delayed-foreign-originator-recognitio.patch -new file mode 100644 -index 0000000..2748f76 ---- /dev/null -+++ b/batman-adv/patches/0003-batman-adv-fix-delayed-foreign-originator-recognitio.patch -@@ -0,0 +1,56 @@ -+From 207d13673fd25e5ae1bc8bb42d1efd4ec4c2dc4d Mon Sep 17 00:00:00 2001 -+Message-Id: <207d13673fd25e5ae1bc8bb42d1efd4ec4c2dc4d.1418604208.git.mschiffer@universe-factory.net> -+In-Reply-To: <0c8001036a191efd3aa30493ba7e31f9eceb21e1.1418604208.git.mschiffer@universe-factory.net> -+References: <0c8001036a191efd3aa30493ba7e31f9eceb21e1.1418604208.git.mschiffer@universe-factory.net> -+From: =?UTF-8?q?Linus=20L=C3=BCssing?= -+Date: Thu, 30 Oct 2014 06:23:40 +0100 -+Subject: [PATCH] batman-adv: fix delayed foreign originator recognition -+MIME-Version: 1.0 -+Content-Type: text/plain; charset=UTF-8 -+Content-Transfer-Encoding: 8bit -+ -+Currently it can happen that the reception of an OGM from a new -+originator is not being accepted. More precisely it can happen that -+an originator struct gets allocated and initialized -+(batadv_orig_node_new()), even the TQ gets calculated and set correctly -+(batadv_iv_ogm_calc_tq()) but still the periodic orig_node purging -+thread will decide to delete it if it has a chance to jump between -+these two function calls. -+ -+This is because batadv_orig_node_new() initializes the last_seen value -+to zero and its caller (batadv_iv_ogm_orig_get()) makes it visible to -+other threads by adding it to the hash table already. -+batadv_iv_ogm_calc_tq() will set the last_seen variable to the correct, -+current time a few lines later but if the purging thread jumps in between -+that it will think that the orig_node timed out and will wrongly -+schedule it for deletion already. -+ -+If the purging interval is the same as the originator interval (which is -+the default: 1 second), then this game can continue for several rounds -+until the random OGM jitter added enough difference between these -+two (in tests, two to about four rounds seemed common). -+ -+Fixing this by initializing the last_seen variable of an orig_node -+to the current time before adding it to the hash table. -+ -+Signed-off-by: Linus Lüssing -+Signed-off-by: Marek Lindner -+--- -+ originator.c | 1 + -+ 1 file changed, 1 insertion(+) -+ -+diff --git a/originator.c b/originator.c -+index 6a48451..648bdba 100644 -+--- a/originator.c -++++ b/originator.c -+@@ -678,6 +678,7 @@ struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, -+ atomic_set(&orig_node->last_ttvn, 0); -+ orig_node->tt_buff = NULL; -+ orig_node->tt_buff_len = 0; -++ orig_node->last_seen = jiffies; -+ reset_time = jiffies - 1 - msecs_to_jiffies(BATADV_RESET_PROTECTION_MS); -+ orig_node->bcast_seqno_reset = reset_time; -+ #ifdef CONFIG_BATMAN_ADV_MCAST -+-- -+2.1.3 -+