From patchwork Sat Oct 31 12:03:22 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Eckelmann X-Patchwork-Id: 4742 Return-Path: Received: from v3-1039.vlinux.de (narfation.org [79.140.41.39]) by open-mesh.org (Postfix) with ESMTPS id AA7658054E for ; Sat, 31 Oct 2015 13:03:28 +0100 (CET) Authentication-Results: open-mesh.org; dkim=pass reason="1024-bit key; unprotected key" header.d=narfation.org header.i=@narfation.org header.b=wkgPx4fC; dkim-adsp=pass; dkim-atps=neutral Received: from sven-edge.localnet (unknown [IPv6:2a02:3100:2607:bbfd:b188:3cfc:848e:dbbe]) by v3-1039.vlinux.de (Postfix) with ESMTPSA id C8C4411000C; Sat, 31 Oct 2015 13:03:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=narfation.org; s=20121; t=1446293008; bh=JRiaNuTeGrXwK/SAEfb0ykhHArSA4JT4j72/fCqpwJ0=; h=From:To:Cc:Subject:Date:From; b=wkgPx4fCqsEB0vcMrHT3va/lokCMvRD5ciJ4PaE5DxByK3SDocG2Clvvmk2FMiZ3U aSJ+gKFEhuOU3OOT1yUx3kA4D0/RVcTlX9wMkoHm4AvSqlfB6QR3HUAJDzfW45kfnj cI9FG18ACKU5snc48TuUKQsTfeNgDvAI8DW7A39M= From: Sven Eckelmann To: b.a.t.m.a.n@lists.open-mesh.org Date: Sat, 31 Oct 2015 13:03:22 +0100 Message-ID: <4759436.052WzdkNzK@sven-edge> User-Agent: KMail/4.14.10 (Linux/4.2.0-1-amd64; KDE/4.14.13; x86_64; ; ) MIME-Version: 1.0 Cc: Antonio Quartulli Subject: [B.A.T.M.A.N.] Missing patches in net-next X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Oct 2015 12:03:28 -0000 Hi, there are some patches waiting in batman-adv's next branch which are currently missing in davem's net-next. The diff from the daily build_test is stable since 1 1/2 months [1]: net/batman-adv/bridge_loop_avoidance.c | 35 +++--------------------- net/batman-adv/routing.c | 19 ++----------- net/batman-adv/translation-table.c | 24 ++-------------- net/batman-adv/types.h | 2 - 4 files changed, 12 insertions(+), 68 deletions(-) The patches which are currently missing in net-next are: 2decb5f1fef1484f1b7319aaf2f36b5492d8d943 4a73d7438dfb60c7ac82758875292bc14f363b45 2dd1d9f06ac1208b1921aa90d479c3940bc70b4f b307e72d119f0ca5cf3c00d05d62320975261ef4 All of them are from maint and thus have conflicts with patches that are already in net-next. The rebased/squashed patches can be found in the attachments. Kind regards, Sven [1] https://lists.open-mesh.org/pipermail/linux-merge/2015-September/002582.html From 7e7cbace13b8ea095ca9a40a51f0d2c2912592fe Mon Sep 17 00:00:00 2001 From: Simon Wunderlich Date: Wed, 2 Sep 2015 20:09:55 +0200 Subject: [PATCH 4/4] batman-adv: avoid keeping false temporary entry In the case when a temporary entry is added first and a proper tt entry is added after that, the temporary tt entry is kept in the orig list. However the temporary flag is removed at this point, and therefore the purge function can not find this temporary entry anymore. Therefore, remove the previous temp entry before adding the new proper one. This case can happen if a client behind a given originator moves before the TT announcement is sent out. Other than that, this case can also be created by bogus or malicious payload frames for VLANs which are not existent on the sending originator. Reported-by: Alessandro Bolletta Signed-off-by: Simon Wunderlich Acked-by: Antonio Quartulli Signed-off-by: Marek Lindner --- net/batman-adv/translation-table.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c index 17822de..dc422be 100644 --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c @@ -1427,9 +1427,15 @@ static bool batadv_tt_global_add(struct batadv_priv *bat_priv, } /* if the client was temporary added before receiving the first - * OGM announcing it, we have to clear the TEMP flag + * OGM announcing it, we have to clear the TEMP flag. Also, + * remove the previous temporary orig node and re-add it + * if required. If the orig entry changed, the new one which + * is a non-temporary entry is preferred. */ - common->flags &= ~BATADV_TT_CLIENT_TEMP; + if (common->flags & BATADV_TT_CLIENT_TEMP) { + batadv_tt_global_del_orig_list(tt_global_entry); + common->flags &= ~BATADV_TT_CLIENT_TEMP; + } /* the change can carry possible "attribute" flags like the * TT_CLIENT_WIFI, therefore they have to be copied in the -- 2.6.2