Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2332395imm; Mon, 28 May 2018 06:13:29 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqaG8NIhSSYnYFeSah6g0ZfZMaWjN7r6qIPWpK+DYHN3ZUb5VA4x/MOhs4PlxrjCHcaitU+ X-Received: by 2002:a65:4502:: with SMTP id n2-v6mr10322054pgq.95.1527513209520; Mon, 28 May 2018 06:13:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527513209; cv=none; d=google.com; s=arc-20160816; b=xUoBKqWiLXNRt1qxcv0qB4CVEbtkFfl9lp/cMvSmEM3Lc9nrefyU+FFMK5G1JrRJSo kx0IlOLZBi8BIdQ1OSgGbY02HSx19l2GASX7c9gQ8bCXlbiqiYMrarnp0WisfEpp+oDq a8Xh5slk3nZEZiH0LjOOU9RnT/uIIPA8X5B9Bj6SlSLTrWsI/Q7WsTEwGYED50BL6VAo kr7wxQL7X5pmanfHWd1aOyCymeyWdF/9TnfU5LOx8Vt6F2zcnDZ73VZ73WVAMm6QirTh tzALNlBYWDKSgA9bg1M2ctj6p8l8dLthpGvQWPGsABxFmFrbSGvGl8hcXm2xvKqYVtll 6zSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=B0/GSmN3Ryy29y/0mt922jm3+aAXJYdqlWN3Jfhs1AI=; b=LklWsxHnOfO1p2PclU+OyGYdk6Lklidx6Am6KefFtaEUUxultzzz7FLteehrCG2y5L WmB0IUODZJQiVGHldFUC0SBG0OqDu0w8yfLAwQLxcq+5oOGnwCPiUNniD3Q4LreGcaYY AoOU2MoDk29qIzA+TM8JeWDAjXVE4eaHo/bybnVQVxHakmMDrUCYH8I8IivvOTP/f5ma l28CyQAkOqRaUulrrrO/KHHXRLG+CdFUiHPEuvlzOCOkAqBBc+G1INvPtpmvDBz+0kh3 iu4UrtsI3hMRQA138NG5jopbffXMvAUNmXR4J5QwEB5skCpnMDs7TNOAwN4v5NynoU0Z rCUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kpdPeVMf; 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 g1-v6si11719451pgf.386.2018.05.28.06.13.14; Mon, 28 May 2018 06:13:29 -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=kpdPeVMf; 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 S939162AbeE1NMm (ORCPT + 99 others); Mon, 28 May 2018 09:12:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:40372 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1163479AbeE1Kuw (ORCPT ); Mon, 28 May 2018 06:50:52 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 5D081206B7; Mon, 28 May 2018 10:50:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527504651; bh=EJQryumr2yLvx2LfqEIrtImPa8ulSOCoM6lwzUvhctA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kpdPeVMfN/zjqVvNKXfW6ZUel2cBybrsXY1NGs7XQ1CYZSiZyKSmew0ddFOO2IYqe WF2TZMN956rG7e5PoyPqEVqO1b6qsAV4KkFBOnLH+yKxZurqEoBG81AUtHz2OVb5/0 B383bEAR2n3MsvrDZ+D5EF29PyEiGZ5U9hbg7M8M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Idan Burstein , Max Gurtovoy , Christoph Hellwig , Keith Busch , Sasha Levin Subject: [PATCH 4.14 173/496] nvmet: fix PSDT field check in command format Date: Mon, 28 May 2018 11:59:18 +0200 Message-Id: <20180528100327.159211150@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100319.498712256@linuxfoundation.org> References: <20180528100319.498712256@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Max Gurtovoy [ Upstream commit bffd2b61670feef18d2535e9b53364d270a1c991 ] PSDT field section according to NVM_Express-1.3: "This field specifies whether PRPs or SGLs are used for any data transfer associated with the command. PRPs shall be used for all Admin commands for NVMe over PCIe. SGLs shall be used for all Admin and I/O commands for NVMe over Fabrics. This field shall be set to 01b for NVMe over Fabrics 1.0 implementations. Suggested-by: Idan Burstein Signed-off-by: Max Gurtovoy Reviewed-by: Christoph Hellwig Signed-off-by: Keith Busch Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/nvme/target/core.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) --- a/drivers/nvme/target/core.c +++ b/drivers/nvme/target/core.c @@ -505,9 +505,12 @@ bool nvmet_req_init(struct nvmet_req *re goto fail; } - /* either variant of SGLs is fine, as we don't support metadata */ - if (unlikely((flags & NVME_CMD_SGL_ALL) != NVME_CMD_SGL_METABUF && - (flags & NVME_CMD_SGL_ALL) != NVME_CMD_SGL_METASEG)) { + /* + * For fabrics, PSDT field shall describe metadata pointer (MPTR) that + * contains an address of a single contiguous physical buffer that is + * byte aligned. + */ + if (unlikely((flags & NVME_CMD_SGL_ALL) != NVME_CMD_SGL_METABUF)) { status = NVME_SC_INVALID_FIELD | NVME_SC_DNR; goto fail; }