Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp801934ybk; Wed, 13 May 2020 13:32:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+/+zLsxF6lZSzQCE7Mfpc8xjaO6tU4ShrcOfDAHFCgt/lupt2Y/yA6zqDnVgMp7ExmVNW X-Received: by 2002:a17:906:57d6:: with SMTP id u22mr746950ejr.49.1589401925449; Wed, 13 May 2020 13:32:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589401925; cv=none; d=google.com; s=arc-20160816; b=C+28ZgJAXTN0F+B+KXTfRJIFI59WITXPMCHoEQ+jhJrZRQI+d4A3ufJBxjLxOTm2l2 FslwQ26UERECyBXjgqEXUvOk1e6IdPpDTco9RNbmFlWyzCbQL5mlpOSmU2wHDTjj+Wf4 KhZn0E0PPEZ/ImZipX+v9t/zwg7YskWtG0mEmSBU8KIYpBuyL0aJ6RjGug+WtDJPV0v/ 8mgqtTgkweRfO2yGUmVTBtltz/laMB3QBXCZcsJcRaluP+6VjXUS7hgwSAnvhTbUJb4K Me2mf9YnBB15aGG3WexIq85iA7oCiMFP0qd34OpsToZ7FdVee9O4XZckgCn0Gr+IsB9W I4PA== 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=sTCISnPojBVfnfS2sBNTM7N3rFt+dBETuUH7A86+Zbw=; b=UiIo7M10sY7WPQ5Sb37c1YTHeQbB2U05NrcwP0QzQyOLUE7rh+G79GyJI/HRiAdTmx WCV2YLzJOcQH2WnNkVLezMjyDPwBye4a8AmnE3M6tiCDvjwhHV4tje28nhyUK401Vs1f EXGyFLMtxJsSB5kIIajmpty2uDzJhgaz6vxF1LL+jtoDHSH3PHotheN1lK20mp7Jwhs0 6UuPc/DGoBl750PwVv4qz+XauYWEzqX+WYaYJR3bq3YtRvOwH1LJfnqd1v8itoR8+Uk9 lRlARC95B/HCczBwXJoD+uorHCKtCZJuIWXcu6KksYGn6S4tWg1gLwnwyvUi0nm6K6kz ghtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BzAcAZza; 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 p12si547106ejo.249.2020.05.13.13.31.42; Wed, 13 May 2020 13:32:05 -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=BzAcAZza; 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 S2387930AbgEMJxS (ORCPT + 99 others); Wed, 13 May 2020 05:53:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:55124 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387501AbgEMJxP (ORCPT ); Wed, 13 May 2020 05:53:15 -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 0D55F20740; Wed, 13 May 2020 09:53:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589363594; bh=x6W/Pxf4cTQTlMo1ktdLzg2nMjER+L4G8RuHBtd4C3E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BzAcAZzaG3M8vvaWZnjp7yqj8mPs1VTE+sUo3thnuecVMxCKxyIoJQ2DvnuRbixAY Rqa6A1T2H1jQKH6KiS8mWFHxj8Vn5auBRsBQuMQdv+AVXLWIw8OTloRzLOVTY6j+xU lftbGT5YS3Sb9BH/RShhOQ1peQpCL/csvKXw0egw= 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 5.6 047/118] net/mlx5: Fix forced completion access non initialized command entry Date: Wed, 13 May 2020 11:44:26 +0200 Message-Id: <20200513094421.346220119@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200513094417.618129545@linuxfoundation.org> References: <20200513094417.618129545@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 @@ -888,7 +888,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)); @@ -910,6 +909,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) ||