Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp799698ybk; Wed, 13 May 2020 13:28:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweagAEC7ADcY318ef2MGzw0gXkao2T8STzNpdQfIBLKn1sFITYf9avLHK3IuSmvnVKSf72 X-Received: by 2002:aa7:c2ce:: with SMTP id m14mr1310392edp.305.1589401700106; Wed, 13 May 2020 13:28:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589401700; cv=none; d=google.com; s=arc-20160816; b=gGxb7qDSKT81MFRZQC1F9vI5SmYa8elZ4qYSIbR2MLJYMpRQSKz7RQ91oKYsSjiBts bonePW1DQbjgiDYMGfV4Pe4agYmuwnQBKKr0gOJd0+pYe5Q61WKsvDL7qa9UnL7gIlMe WjuVLGqHFO9fTGxKQk+TMVZI1Qthv2aAPOj+FkwxTbNQT6HT1tDtaT/4GLsUtfQVYr+v zC92fINj1MYpsdbnsga3iOCnuEhE9vBNnyGYyUYGIZ0Y/TfH1Stcr772/izMbPOLKB+v BDPIhRUo830Wg4aFHmKz5Oit/PG5nzm4huBrwGDAgXDcvpYFzFW8K/pZ8t4vCnKDq9n2 X8ug== 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=lbU/6rH2f8TdbCC76pQR9RerecU5KBwaz31s6M7lBm4=; b=fNdd/C9v0xHfshszAcrRiXuRMUJpNmpPUBz2YdCj+Zq+ZsCMAd6KlLQBZxFwuFj2rY Y3KH07WODhaR4mYujQbLGa/AwlgVSpkvklGh6KCE0la2vrfEXNsfPvSU2LUwa3ord7r3 FSmBctf/1pMnKpV4ph+fVelQ4WkH3R/Pl4yhF7RBh/C1oVVEBph6RyznKlYhZMyZXjCx XS0DSdN7AonG1Pmb46ikXO7g46sWsEOM+lAbc0C4oZsGp7JcYhkrS4QOGypFfiBURWUH yZoAY8tLQtI3FFWasB+0GQBnDKfb34OV4FZKF2JOrRC9O8SskaerukmseYLEuGAOIxSm VBdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=WoWofrOC; 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 dr10si655169ejc.190.2020.05.13.13.27.57; Wed, 13 May 2020 13:28: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=@kernel.org header.s=default header.b=WoWofrOC; 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 S1732592AbgEMJqN (ORCPT + 99 others); Wed, 13 May 2020 05:46:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:43452 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726492AbgEMJqJ (ORCPT ); Wed, 13 May 2020 05:46:09 -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 67F8020740; Wed, 13 May 2020 09:46:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589363168; bh=jpdaPpHao6OeULRHplp+4KkK02unGY3r6eZUySCwHaM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WoWofrOCEaxW0E7UULadyUuknM/4CGjZ2nQjMObusz0is/FXaY8Q0VGG/oe0eK3kj u3EUgCmBjI3mtrE9QXrOC7U0WvD+PEjoUiGxO0k+CxyTudgV79fYsE4WI1dwQlC8sr 7+fiSXfy9q7GviOhSifCzEa4OSGVuYTqrohcW1m0= 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.19 14/48] net/mlx5: Fix forced completion access non initialized command entry Date: Wed, 13 May 2020 11:44:40 +0200 Message-Id: <20200513094354.999572106@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200513094351.100352960@linuxfoundation.org> References: <20200513094351.100352960@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 @@ -862,7 +862,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)); @@ -884,6 +883,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) ||