From patchwork Fri Jul 6 18:10:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Maloy X-Patchwork-Id: 940664 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ericsson.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ericsson.com header.i=@ericsson.com header.b="WxRKGkfM"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41MjTN5q4Mz9s4b for ; Sat, 7 Jul 2018 04:11:04 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934311AbeGFSLC (ORCPT ); Fri, 6 Jul 2018 14:11:02 -0400 Received: from sessmg22.ericsson.net ([193.180.251.58]:61765 "EHLO sessmg22.ericsson.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934125AbeGFSLB (ORCPT ); Fri, 6 Jul 2018 14:11:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1530900659; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=tlLRoe5K3cfgeIUbXg9NHAJ5ukulabH2bo0o5VeHv+U=; b=WxRKGkfMT6lDuL3ke6ukc/fRIRIbARr4mv2GgjK/9CUHHjhnKfA/I7CshSDLJCC7 5r+Y0JLf1ENyaxo6/dMBLarGP42ixWJ3IUekNSrGGdrJFJ7jahLOj0dBcGLKuE2m /oX5D960iGJefEoQHMXIHBXdewOGDZFErwzXdj29ErU=; X-AuditID: c1b4fb3a-dcb6e9c0000079c1-03-5b3fb0b3619c Received: from ESESSMB501.ericsson.se (Unknown_Domain [153.88.183.119]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id C5.BD.31169.3B0BF3B5; Fri, 6 Jul 2018 20:10:59 +0200 (CEST) Received: from ESESSMB505.ericsson.se (153.88.183.166) by ESESSMB501.ericsson.se (153.88.183.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Fri, 6 Jul 2018 20:10:15 +0200 Received: from ESESSHC011.ericsson.se (153.88.183.51) by ESESSMB505.ericsson.se (153.88.183.166) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1466.3 via Frontend Transport; Fri, 6 Jul 2018 20:10:15 +0200 Received: from daly.lab.linux.ericsson.se (10.35.28.123) by ESESSHC011.ericsson.se (153.88.183.51) with Microsoft SMTP Server (TLS) id 14.3.382.0; Fri, 6 Jul 2018 20:10:14 +0200 From: Jon Maloy To: , CC: , , , , , , Subject: [net 1/4] tipc: fix wrong return value from function tipc_node_try_addr() Date: Fri, 6 Jul 2018 20:10:03 +0200 Message-ID: <1530900606-24429-2-git-send-email-jon.maloy@ericsson.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1530900606-24429-1-git-send-email-jon.maloy@ericsson.com> References: <1530900606-24429-1-git-send-email-jon.maloy@ericsson.com> MIME-Version: 1.0 X-Originating-IP: [10.35.28.123] X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrDLMWRmVeSWpSXmKPExsUyM2J7ue7mDfbRBgsum1rcaOhhtphzvoXF YsXuSawWb1/NYrc4tkDMYsv5LIsr7WfZLR5fv87swOGxZeVNJo93V9g8di/4zOTxeZOcx/ot W5kCWKO4bFJSczLLUov07RK4Mi68bGQsuMddsXzPcrYGxg2cXYycHBICJhIv1u5h6mLk4hAS OMoo0bb3JxtIQkjgK6PE10cFEIkOJokJuycwQjhbGSU+zTrFDlLFJqAh8XJaByOILSJgLPFq ZSfYKGaBx4wSX+6vAhslLBAkceFdN1gRi4CKxPl/d5lAbF4BN4mHHffYIe6Qkzh//CcziM0p 4C6xfsJcJogz3CRa3rezQ9QLSpyc+YQFxGYWkJA4+OIFM0SNssTcD9OYIOYoSHyYtYxtAqPQ LCQts5C0LGBkWsUoWpxaXJybbmSkl1qUmVxcnJ+nl5dasokRGAcHt/y22sF48LnjIUYBDkYl Ht5Da+yjhVgTy4orcw8xSnAwK4nwatUDhXhTEiurUovy44tKc1KLDzFKc7AoifM6pVlECQmk J5akZqemFqQWwWSZODilGhgZfeVff0tr7f5ndSVimcCVxfvOq7F4nY5qO6Nz/myq9vJi++4+ v9Tt/46vSlTbLr/nzFwNxtcJ5mXxa6UD635OUc0peBZtLCkS+X1P17ekNmFptsmz3wsl+f9M S0gJtHDNvXnWoup1ygy251qXBOQdgv+UT838YBtcmHAucMlnk0sn77fuua/EUpyRaKjFXFSc CADZMeT7fwIAAA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The function for checking if there is an node address conflict is supposed to return a suggestion for a new address if it finds a conflict, and zero otherwise. But in case the peer being checked is previously unknown it does instead return a "suggestion" for the checked address itself. This results in a DSC_TRIAL_FAIL_MSG being sent unecessarily to the peer, and sometimes makes the trial period starting over again. Fixes: 25b0b9c4e835 ("tipc: handle collisions of 32-bit node address hash values") Signed-off-by: Jon Maloy --- net/tipc/node.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/net/tipc/node.c b/net/tipc/node.c index 6a44eb8..0453bd4 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c @@ -797,6 +797,7 @@ static u32 tipc_node_suggest_addr(struct net *net, u32 addr) } /* tipc_node_try_addr(): Check if addr can be used by peer, suggest other if not + * Returns suggested address if any, otherwise 0 */ u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr) { @@ -819,12 +820,14 @@ u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr) if (n) { addr = n->addr; tipc_node_put(n); + return addr; } - /* Even this node may be in trial phase */ + + /* Even this node may be in conflict */ if (tn->trial_addr == addr) return tipc_node_suggest_addr(net, addr); - return addr; + return 0; } void tipc_node_check_dest(struct net *net, u32 addr,