Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp5229020ybl; Tue, 27 Aug 2019 01:10:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqy1mhrPYzMHGQ3LWP9uBnkXfPgGju9AViIWxHm7f1eYllPFHf+k4D0fVh0Wo5WeLdjv8rk6 X-Received: by 2002:a65:5289:: with SMTP id y9mr8081004pgp.445.1566893412881; Tue, 27 Aug 2019 01:10:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566893412; cv=none; d=google.com; s=arc-20160816; b=BvdOFhNozfG9YgLHPnDPoaqii/0LHSjKYgvmf9C+o7RVk5zTl/yAWKD8tPWYriQJxU gdCCMF/PwDNbRTAJRxOUpZPDfWi6vUokH9mopqFaloXGDFJIq/p2HrhDdpJtn4CyIE+A KDOe0L7qU0ODeTqQP22zE1u3ZEdzF3EpV243gyDkMtsGrsJg5xlKhh0Ppc29M7obGotD DuRX0/ksEHEdd7sw/b2PDudhRei4OJaj/LANi6iKsCQis7kf1hf0sYtwGXtX7iCBokyU Hr1lQuoGtuVhGKZRE7l831tOVP+iJcH4mStciWDJET2fwXJlau6e2RKieYfS2EKBJCq0 0HDw== 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=WzB8Ty7k7TH911+aEjwe10w8mL1rBn4JfBTnl57b4aY=; b=W93WjwtjtY9ogIo1QKP3aya2FpO4m46GOFtgkDNpH7LSyfd/tkOfJJ7nP6Fz4rcOau 9zr3pgiL16SunnC0kIZCJ+GnUNaGJxHI60t6uIAa7xKfgaY2TkrNZZSmSxy9jCFIQf/g REBH7bFTdyIN0iBkd4/VkXm96TV/K+w/mbCT7dJCF6T5qqEnxYY4G9L/z3o3nQOJUMIV p4TlkTh8G6gVE7jiavdYrFC2uwGdhuP7xMTj65cxQmmrltWT0mw2dXjxAMV+bjX2wlXl V+elDlvucJ/c7mF3d700vPEZaKegFTFtux59q/gKe7rY0VcOoVojLL5hBxXVk5zBRX8c Jg1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OivOL2W+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q199si12123751pfq.112.2019.08.27.01.09.57; Tue, 27 Aug 2019 01:10:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OivOL2W+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732564AbfH0IIq (ORCPT + 99 others); Tue, 27 Aug 2019 04:08:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:35408 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732817AbfH0IFf (ORCPT ); Tue, 27 Aug 2019 04:05:35 -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 9F6622173E; Tue, 27 Aug 2019 08:05:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1566893134; bh=qCMxmxgU28Adtb3OCPQ8m5kIGKqy6wzZeC/V8xKHQ30=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OivOL2W+2HcL7juI9+ZDmQmtL7zoT0hYZpVjyxr0dJecrfTl0Lz4f+VMbXVlt5xIv xui1hSzHlgkAXBLzHx9hqragWxDzOlh94ZHch5PdnSpwVCUZtVZyEBZEodBkuURjwD AWv8EDkFMNduevkh02Nzh2cGntTAv9jgrCavcfts= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mike Marciniszyn , Kaike Wan , Dennis Dalessandro , Doug Ledford Subject: [PATCH 5.2 132/162] IB/hfi1: Add additional checks when handling TID RDMA WRITE DATA packet Date: Tue, 27 Aug 2019 09:51:00 +0200 Message-Id: <20190827072743.146168096@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190827072738.093683223@linuxfoundation.org> References: <20190827072738.093683223@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: Kaike Wan commit 90fdae66e72bf0381d168f12dca0259617927895 upstream. In a congested fabric with adaptive routing enabled, traces show that packets could be delivered out of order, which could cause incorrect processing of stale packets. For stale TID RDMA WRITE DATA packets that cause KDETH EFLAGS errors, this patch adds additional checks before processing the packets. Fixes: d72fe7d5008b ("IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet") Cc: Reviewed-by: Mike Marciniszyn Signed-off-by: Kaike Wan Signed-off-by: Dennis Dalessandro Link: https://lore.kernel.org/r/20190815192051.105923.69979.stgit@awfm-01.aw.intel.com Signed-off-by: Doug Ledford Signed-off-by: Greg Kroah-Hartman --- drivers/infiniband/hw/hfi1/tid_rdma.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/infiniband/hw/hfi1/tid_rdma.c +++ b/drivers/infiniband/hw/hfi1/tid_rdma.c @@ -2947,8 +2947,15 @@ bool hfi1_handle_kdeth_eflags(struct hfi */ spin_lock(&qp->s_lock); qpriv = qp->priv; + if (qpriv->r_tid_tail == HFI1_QP_WQE_INVALID || + qpriv->r_tid_tail == qpriv->r_tid_head) + goto unlock; e = &qp->s_ack_queue[qpriv->r_tid_tail]; + if (e->opcode != TID_OP(WRITE_REQ)) + goto unlock; req = ack_to_tid_req(e); + if (req->comp_seg == req->cur_seg) + goto unlock; flow = &req->flows[req->clear_tail]; trace_hfi1_eflags_err_write(qp, rcv_type, rte, psn); trace_hfi1_rsp_handle_kdeth_eflags(qp, psn);