From 184dc543174da96651b00c0db9a8bd657e78dfca Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 4 Jun 2018 19:20:05 +0200 Subject: [PATCH] modules: update routing packages 2dfb22876414 batman-adv: add patches from 2018.1-maint 2018-06-03 --- modules | 2 +- ...ix-best-gw-refcnt-after-netlink-dump.patch | 115 ------------------ 2 files changed, 1 insertion(+), 116 deletions(-) delete mode 100644 patches/packages/routing/0002-batman-adv-Fix-best-gw-refcnt-after-netlink-dump.patch diff --git a/modules b/modules index ff6ed2ce..d586b3e8 100644 --- a/modules +++ b/modules @@ -12,7 +12,7 @@ PACKAGES_GLUON_REPO=https://github.com/freifunk-gluon/packages.git PACKAGES_GLUON_COMMIT=c34d129afb48f225741b683127beee6ba3c169d2 PACKAGES_ROUTING_REPO=https://github.com/openwrt-routing/packages.git -PACKAGES_ROUTING_COMMIT=23c04022c696c75281933f6552334f002a315143 +PACKAGES_ROUTING_COMMIT=013dcc6817eac52d7684667dccac0c27b7607ecf PACKAGES_LUCI_REPO=https://github.com/openwrt/luci.git PACKAGES_LUCI_BRANCH=lede-17.01 diff --git a/patches/packages/routing/0002-batman-adv-Fix-best-gw-refcnt-after-netlink-dump.patch b/patches/packages/routing/0002-batman-adv-Fix-best-gw-refcnt-after-netlink-dump.patch deleted file mode 100644 index b10657e9..00000000 --- a/patches/packages/routing/0002-batman-adv-Fix-best-gw-refcnt-after-netlink-dump.patch +++ /dev/null @@ -1,115 +0,0 @@ -From: Sven Eckelmann -Date: Sat, 2 Jun 2018 16:25:16 +0200 -Subject: batman-adv: Fix best gw refcnt after netlink dump - -A reference to the best gateway is taken when the list of gateways in the -mesh is sent via netlink. This is necessary to check whether the currently -dumped entry is the currently selected gateway or not. This information is -then transferred as flag BATADV_ATTR_FLAG_BEST. - -After the comparison of the current entry is done, -batadv_*_gw_dump_entry() has to decrease the reference counter again. -Otherwise the reference will be held and thus prevents a proper shutdown of -the batman-adv interfaces (and some of the interfaces enslaved in it). - -Fixes: 215d6b834fd1 ("batman-adv: upgrade package to latest release 2016.4") -Reported-by: Andreas Ziegler -Signed-off-by: Sven Eckelmann - -diff --git a/batman-adv/patches/0002-batman-adv-Fix-bat_ogm_iv-best-gw-refcnt-after-netli.patch b/batman-adv/patches/0002-batman-adv-Fix-bat_ogm_iv-best-gw-refcnt-after-netli.patch -new file mode 100644 -index 0000000000000000000000000000000000000000..86fbb0672c52e0158ab6a762591f12d2fc377ba5 ---- /dev/null -+++ b/batman-adv/patches/0002-batman-adv-Fix-bat_ogm_iv-best-gw-refcnt-after-netli.patch -@@ -0,0 +1,43 @@ -+From: Sven Eckelmann -+Date: Sat, 2 Jun 2018 16:08:22 +0200 -+Subject: [PATCH] batman-adv: Fix bat_ogm_iv best gw refcnt after netlink dump -+ -+A reference to the best gateway is taken when the list of gateways in the -+mesh is sent via netlink. This is necessary to check whether the currently -+dumped entry is the currently selected gateway or not. This information is -+then transferred as flag BATADV_ATTR_FLAG_BEST. -+ -+After the comparison of the current entry is done, -+batadv_iv_gw_dump_entry() has to decrease the reference counter again. -+Otherwise the reference will be held and thus prevents a proper shutdown of -+the batman-adv interfaces (and some of the interfaces enslaved in it). -+ -+Fixes: fa3228924152 ("batman-adv: add B.A.T.M.A.N. IV bat_gw_dump implementations") -+Reported-by: Andreas Ziegler -+Signed-off-by: Sven Eckelmann -+--- -+ net/batman-adv/bat_iv_ogm.c | 4 +++- -+ 1 file changed, 3 insertions(+), 1 deletion(-) -+ -+diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c -+index be09a98838252f4f0c23cec0625930cf896cd0ff..73bf6a93a3cf1141a34657bf1284893199e04db9 100644 -+--- a/net/batman-adv/bat_iv_ogm.c -++++ b/net/batman-adv/bat_iv_ogm.c -+@@ -2732,7 +2732,7 @@ static int batadv_iv_gw_dump_entry(struct sk_buff *msg, u32 portid, u32 seq, -+ { -+ struct batadv_neigh_ifinfo *router_ifinfo = NULL; -+ struct batadv_neigh_node *router; -+- struct batadv_gw_node *curr_gw; -++ struct batadv_gw_node *curr_gw = NULL; -+ int ret = 0; -+ void *hdr; -+ -+@@ -2780,6 +2780,8 @@ static int batadv_iv_gw_dump_entry(struct sk_buff *msg, u32 portid, u32 seq, -+ ret = 0; -+ -+ out: -++ if (curr_gw) -++ batadv_gw_node_put(curr_gw); -+ if (router_ifinfo) -+ batadv_neigh_ifinfo_put(router_ifinfo); -+ if (router) -diff --git a/batman-adv/patches/0003-batman-adv-Fix-bat_v-best-gw-refcnt-after-netlink-du.patch b/batman-adv/patches/0003-batman-adv-Fix-bat_v-best-gw-refcnt-after-netlink-du.patch -new file mode 100644 -index 0000000000000000000000000000000000000000..f859d04affd07abd8abf2691cd1018b2725eb984 ---- /dev/null -+++ b/batman-adv/patches/0003-batman-adv-Fix-bat_v-best-gw-refcnt-after-netlink-du.patch -@@ -0,0 +1,42 @@ -+From: Sven Eckelmann -+Date: Sat, 2 Jun 2018 16:08:22 +0200 -+Subject: [PATCH] batman-adv: Fix bat_v best gw refcnt after netlink dump -+ -+A reference to the best gateway is taken when the list of gateways in the -+mesh is sent via netlink. This is necessary to check whether the currently -+dumped entry is the currently selected gateway or not. This information is -+then transferred as flag BATADV_ATTR_FLAG_BEST. -+ -+After the comparison of the current entry is done, -+batadv_v_gw_dump_entry() has to decrease the reference counter again. -+Otherwise the reference will be held and thus prevents a proper shutdown of -+the batman-adv interfaces (and some of the interfaces enslaved in it). -+ -+Fixes: 15315a94ad98 ("batman-adv: add B.A.T.M.A.N. V bat_gw_dump implementations") -+Signed-off-by: Sven Eckelmann -+--- -+ net/batman-adv/bat_v.c | 4 +++- -+ 1 file changed, 3 insertions(+), 1 deletion(-) -+ -+diff --git a/net/batman-adv/bat_v.c b/net/batman-adv/bat_v.c -+index ec93337ee2597738e46b87dd72724d5becf3f48e..6baec4e68898c6e992e7522d2ee8c78ce62a1b08 100644 -+--- a/net/batman-adv/bat_v.c -++++ b/net/batman-adv/bat_v.c -+@@ -927,7 +927,7 @@ static int batadv_v_gw_dump_entry(struct sk_buff *msg, u32 portid, u32 seq, -+ { -+ struct batadv_neigh_ifinfo *router_ifinfo = NULL; -+ struct batadv_neigh_node *router; -+- struct batadv_gw_node *curr_gw; -++ struct batadv_gw_node *curr_gw = NULL; -+ int ret = 0; -+ void *hdr; -+ -+@@ -995,6 +995,8 @@ static int batadv_v_gw_dump_entry(struct sk_buff *msg, u32 portid, u32 seq, -+ ret = 0; -+ -+ out: -++ if (curr_gw) -++ batadv_gw_node_put(curr_gw); -+ if (router_ifinfo) -+ batadv_neigh_ifinfo_put(router_ifinfo); -+ if (router)