Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3416443pxf; Mon, 29 Mar 2021 01:24:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTxkogJhO06Cm6kvFJ8iI2Ku7vSlwLLF6aY+eTkgzWuv5rJWw7J5+qMrLJ2EYJXkVITzjm X-Received: by 2002:a17:906:27c7:: with SMTP id k7mr27708648ejc.13.1617006254551; Mon, 29 Mar 2021 01:24:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617006254; cv=none; d=google.com; s=arc-20160816; b=IJ0COr5PVkeK3h6dJrjmRfKFoyY0vSUT8mRtm3VLjykEzuZDUqkRwvayKYvG6S+DLt QS6mUanbYJ6YV8IOlBWgz+2n5zv5iuH4dBUCGiUqg4ioiFC7WbLCknT/djgtzkp4clb/ fZFrhYWtNjogO5Ib/TrnTh4grXpO4sE3ujM4i9wH138RMRlpSCFHVduSuQZdBDSCDJGq rSuc/I8D0F8LILiYSynnw2tglTsl9BplyikYX5cCaeFFwJzsmbcn8OrPs2Mmx8otfNf7 EA0iaqll6T7F5nDp54k0QQ+exkii6UNOD1cKZYNhTtJ1P09xFmtx5L1MrzLELX76TrXQ vRxw== 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=GMvaaQqVFxw6RtZzLBVFLb71GeV7NRRvqq+1rP3Au6o=; b=LBzyuo3cbnT6VTPvTMqF0/itaN7AO2Gx8WfGd1U0wJ55WG2imlDlxLr7BSDT+NXjVa DMx4K/TRg9GcuAceOlnBTEvyAOIul9NoDg4Wvtl6WyPh78Xjx5HkTpoWnjFgW41R7jfq YDvLWTQ8tsBB9jsexo3/1OScNm395b3CWdPOXDbgpXgEWxy/0HGZhiEZB359lDUKtuVt 196DQnpkcZUm8H45a3hjpgjruKElN86nv8ULNFdHrS7kVDfstbkTN4wE6I+SKzrxMGW9 4I6yq3eAGTWQLOx4btGZfKuVdNsntoxtPTRBGumM7buqO3VQrWmk0mtvkY65vaUVY/dB C8TQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=yINcY1Al; 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 x20si12118454edq.132.2021.03.29.01.23.51; Mon, 29 Mar 2021 01:24:14 -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=yINcY1Al; 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 S234071AbhC2IW4 (ORCPT + 99 others); Mon, 29 Mar 2021 04:22:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:59002 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232929AbhC2IOq (ORCPT ); Mon, 29 Mar 2021 04:14:46 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id F2D4A61477; Mon, 29 Mar 2021 08:14:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1617005685; bh=4VQOAETgK4tCSOh11+Uk4AmzYSjvyWfk78A8is7pybo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yINcY1AlipxuMkQHZ5Kbk/zOoJiwGwZnqtPq30tezl1YyAGslb7FFj+DacUyjgrdU 5fj+7xvZ2nksMSFIaSM56/o1TYr9OPNCaLX8K9xhL6MV7DKuL3L9X6gfDekkYIxWmU r0HFrxcxf2ubHEbG+NXzjXziT5O/53tkRx8nUL10= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hariprasad Kelam , Sunil Kovvuri Goutham , "David S. Miller" , Sasha Levin Subject: [PATCH 5.4 081/111] octeontx2-af: fix infinite loop in unmapping NPC counter Date: Mon, 29 Mar 2021 09:58:29 +0200 Message-Id: <20210329075617.910112474@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210329075615.186199980@linuxfoundation.org> References: <20210329075615.186199980@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: Hariprasad Kelam [ Upstream commit 64451b98306bf1334a62bcd020ec92bdb4cb68db ] unmapping npc counter works in a way by traversing all mcam entries to find which mcam rule is associated with counter. But loop cursor variable 'entry' is not incremented before checking next mcam entry which resulting in infinite loop. This in turn hogs the kworker thread forever and no other mbox message is processed by AF driver after that. Fix this by updating entry value before checking next mcam entry. Fixes: a958dd59f9ce ("octeontx2-af: Map or unmap NPC MCAM entry and counter") Signed-off-by: Hariprasad Kelam Signed-off-by: Sunil Kovvuri Goutham Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c index 15f70273e29c..d82a519a0cd9 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c @@ -1967,10 +1967,10 @@ int rvu_mbox_handler_npc_mcam_free_counter(struct rvu *rvu, index = find_next_bit(mcam->bmap, mcam->bmap_entries, entry); if (index >= mcam->bmap_entries) break; + entry = index + 1; if (mcam->entry2cntr_map[index] != req->cntr) continue; - entry = index + 1; npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, index, req->cntr); } -- 2.30.1