Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp2732780pxv; Mon, 12 Jul 2021 00:10:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw3QuSrmdkefToLMjEVSwOaKUu4U1Wiq0q7QZBddDdL848qOLCd/qENldIuZ3cs219YZKsl X-Received: by 2002:a05:6e02:5cf:: with SMTP id l15mr10554109ils.90.1626073820465; Mon, 12 Jul 2021 00:10:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626073820; cv=none; d=google.com; s=arc-20160816; b=D4rs1A1EvOchmpsqComRrBn8psNSBAQuUr4IzVqOEA3TCpH05JaCnfRmd7vMPVv5Ig U7nUtZWSOolu5qFz+HKR+bT3y1QHNSnQdr+FTN6kXHWKsxKDMVPf3pTDzgt5F8r7jjx1 Mmn1+jImAyo2f8WDde2iR8uQMrY3QU2e9UCGUsTSJz5USBkdNoifA/Dbq0SePOkf4WD8 kCgDOVE6m7hb4EYoYqEyrSx/u8CkWcFq/zGU8BrnCN9etx28gdG45H8DO3cr3UYIw5C9 n1gdhDWFvGn3LJ/pbgIglL+dlpdMt6ldzAQWEvkB4a964wST4RMo3POBRQgmF7DLJw3/ jncg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=mAizz8ocwGau40V/pm149z6Em41BCXHJkxRCvx6oNew=; b=Ga20U437MBraSOYNIycwujtrl37G5LjJb4bc0IPl3APwZGtLPSiFmkhK80teuAKVcd M8VplY1U8sf8D4gAxBMBYk7xPPtwVu6ILB5jUaOSooLdRKiWInGoI7UYJizDTW4iBzJ7 8Hnu0xBxDVffkU4onzkMuDzMksqEIKQ4fLUtTryEJoFyAbd1AZ56WjqatsMwXGmK7x2I SlrwnbB4w+iDAY5kPFNgXm5rS/A53oVvTO21DCfA7ONd+30QVBV15+NRuTiJ7goE6vYq 5voLQQY7/B3QDSwdUU4UvaToPbl6Jk5o5t2ZINz5AfiPwgDmmpvfVoa5vne7wEOOA6ug RzdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wHLamJbO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v20si10927638jao.88.2021.07.12.00.10.08; Mon, 12 Jul 2021 00:10:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wHLamJbO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243992AbhGLHKQ (ORCPT + 99 others); Mon, 12 Jul 2021 03:10:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:44282 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237110AbhGLGr6 (ORCPT ); Mon, 12 Jul 2021 02:47:58 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 403FE610D1; Mon, 12 Jul 2021 06:43:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626072231; bh=InqpK1j5z2eLBKUBzg9eOK6bJDw5GG1+7K2qQRNao5Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wHLamJbOc7DINNC5SOxeNghge970thZaf2dc+cRSabEcMLa8xS3w02oJwveRXsAsu VEvQs2ljhiQ+CFLq151z16/vJD3qKcLr5Vk3Ka+ypG/NKcGmO33M+KimBTEfcJPCgF P6S+t73o4bvPZq7lazLlcJdHvo6PfOouKU4llqvk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?H=C3=A5kon=20Bugge?= , Leon Romanovsky , Jason Gunthorpe , Sasha Levin Subject: [PATCH 5.10 410/593] RDMA/cma: Fix incorrect Packet Lifetime calculation Date: Mon, 12 Jul 2021 08:09:30 +0200 Message-Id: <20210712060932.967933647@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712060843.180606720@linuxfoundation.org> References: <20210712060843.180606720@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Håkon Bugge [ Upstream commit e84045eab69c625bc0b0bf24d8e05bc65da1eed1 ] An approximation for the PacketLifeTime is half the local ACK timeout. The encoding for both timers are logarithmic. If the local ACK timeout is set, but zero, it means the timer is disabled. In this case, we choose the CMA_IBOE_PACKET_LIFETIME value, since 50% of infinite makes no sense. Before this commit, the PacketLifeTime became 255 if local ACK timeout was zero (not running). Fixed by explicitly testing for timeout being zero. Fixes: e1ee1e62bec4 ("RDMA/cma: Use ACK timeout for RoCE packetLifeTime") Link: https://lore.kernel.org/r/1624371207-26710-1-git-send-email-haakon.bugge@oracle.com Signed-off-by: Håkon Bugge Reviewed-by: Leon Romanovsky Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin --- drivers/infiniband/core/cma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index f2fd4bc2fbec..be4e447134b3 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c @@ -3060,8 +3060,10 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv) * as a reasonable approximation for RoCE networks. */ mutex_lock(&id_priv->qp_mutex); - route->path_rec->packet_life_time = id_priv->timeout_set ? - id_priv->timeout - 1 : CMA_IBOE_PACKET_LIFETIME; + if (id_priv->timeout_set && id_priv->timeout) + route->path_rec->packet_life_time = id_priv->timeout - 1; + else + route->path_rec->packet_life_time = CMA_IBOE_PACKET_LIFETIME; mutex_unlock(&id_priv->qp_mutex); if (!route->path_rec->mtu) { -- 2.30.2