Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2961485ybk; Mon, 18 May 2020 12:10:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwb/xShvjnzE5WJGv4JYfty+YpY8aLc8YB1mnhHYVAjHVTVrnpfYfgfwDpJNoQ8riT79lOa X-Received: by 2002:a17:906:6990:: with SMTP id i16mr15768361ejr.175.1589829025261; Mon, 18 May 2020 12:10:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589829025; cv=none; d=google.com; s=arc-20160816; b=hP6hoQ7mgsEZKUzXGZvoIf2W53JBeZd9TnpCT3DO0Fn/xsKWED29qM2d556UqYY9ON LX/rUGxMPK3CUrX3Wt8rA94M1JEVMYP5Q9qhD4IwY/He135mo3Cm2nFQduGB693hQPtY sOLmeDiv9QmP+zy3LSRyphdcrm88eX0jdr8p5qa+Sk2zLvByCe5Hu/Zl7Q4ql3SY7N2p W2kumHv2ZnCE9EOuZBi/0r2i4MQZ5soqH+nSec//PirO1M4k/R/upNpHpQLhSiLR7lvF 5F4tJ+6goV2pkTesNdShTWDPB1oNd3GU3hdGwVcRSM1R0yn1f8jl0vZA0ixXjUwy9L3Q moSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=WTmeAOETMJIh04W4rZtI7gVPFkbZhcDFkaiAUkGaFnQ=; b=GEDswS4s8BDrv4yWr2WpQ0fQfINqtGQbEQFnmJFQqwhctESGf3NQJYa4QAxsevu71G lRwgTkzkYbQkYWptx0veT0ktwj9eo/3XrN7IJHl6A3MSm1BNEe9S2fo1sD+agKdeZNzE yoG0dYb9MXbNQu2c8dBFeAEl4eJwzYLRsA6rme5VUniFdXifZ2eY8qVYePjeVIJmTA1g Cl6tjMsSfyfRxi4l57brRV6rGSB2MI4+HIpqUePAqKeeX/vmRuLEGHaFXK6MtJoZwbgm zdNutUrJbkcxgUWWOlA3jPDAW/bwnkOhye99lEd0/RTDZbBSdcPPxpX8wceBdmzgxMxR QMXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=YbUNPZji; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g25si5909709edy.554.2020.05.18.12.10.01; Mon, 18 May 2020 12:10:25 -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=@kernel.org header.s=default header.b=YbUNPZji; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729393AbgERRmN (ORCPT + 99 others); Mon, 18 May 2020 13:42:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:38812 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728682AbgERRmC (ORCPT ); Mon, 18 May 2020 13:42:02 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8E86F207C4; Mon, 18 May 2020 17:42:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589823722; bh=JPkpRm0BfBT5z2CG2nT7W1EMNek7CBPjCyePZ2NfKok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YbUNPZjiTKarqOw4dsz6b89CXC/8lq7X1mOBeZLW80188mlKvbrBFTDjzn7hIxROC tjUksDczJ2SVjPlbQtGwSNSwrcq7VlPgWbohfYcU+kbhJvqlRo+1FDYUhdADDB5l+q PUJcgs/7Dh7kiVBy1CyKX1/eHt/ZX8hc5OYhYWR8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Moshe Shemesh , Eran Ben Elisha , Saeed Mahameed Subject: [PATCH 4.9 10/90] net/mlx5: Fix forced completion access non initialized command entry Date: Mon, 18 May 2020 19:35:48 +0200 Message-Id: <20200518173453.340240579@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200518173450.930655662@linuxfoundation.org> References: <20200518173450.930655662@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Moshe Shemesh [ Upstream commit f3cb3cebe26ed4c8036adbd9448b372129d3c371 ] mlx5_cmd_flush() will trigger forced completions to all valid command entries. Triggered by an asynch event such as fast teardown it can happen at any stage of the command, including command initialization. It will trigger forced completion and that can lead to completion on an uninitialized command entry. Setting MLX5_CMD_ENT_STATE_PENDING_COMP only after command entry is initialized will ensure force completion is treated only if command entry is initialized. Fixes: 73dd3a4839c1 ("net/mlx5: Avoid using pending command interface slots") Signed-off-by: Moshe Shemesh Signed-off-by: Eran Ben Elisha Signed-off-by: Saeed Mahameed Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -813,7 +813,6 @@ static void cmd_work_handler(struct work } cmd->ent_arr[ent->idx] = ent; - set_bit(MLX5_CMD_ENT_STATE_PENDING_COMP, &ent->state); lay = get_inst(cmd, ent->idx); ent->lay = lay; memset(lay, 0, sizeof(*lay)); @@ -835,6 +834,7 @@ static void cmd_work_handler(struct work if (ent->callback) schedule_delayed_work(&ent->cb_timeout_work, cb_timeout); + set_bit(MLX5_CMD_ENT_STATE_PENDING_COMP, &ent->state); /* Skip sending command to fw if internal error */ if (pci_channel_offline(dev->pdev) ||