From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC807C3A589 for ; Tue, 20 Aug 2019 13:47:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC98C2087E for ; Tue, 20 Aug 2019 13:47:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1566308864; bh=q/HXbtlIErQ3yV18fGW2AifO0yWy6iCe6lNV0EtHDCU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=eoWsT51xVQzZ3200FR0JtRzqBW1z9Q8r2B+ojLkg0c/CBi+jHvozO/AYiw8cjKLxE QEp+7vFJ+Zak15d04wW9OoX34jfjN3ShdCN9SxT/TBgyG3LUQaWLbkvp0zxXhJsKdg /eOJike6YznznyHwKDuYar70dNeALyfHcI0O0dzI= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730635AbfHTNrm (ORCPT ); Tue, 20 Aug 2019 09:47:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:35450 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730170AbfHTNkk (ORCPT ); Tue, 20 Aug 2019 09:40:40 -0400 Received: from sasha-vm.mshome.net (unknown [12.236.144.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 66B5A22DA7; Tue, 20 Aug 2019 13:40:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1566308439; bh=q/HXbtlIErQ3yV18fGW2AifO0yWy6iCe6lNV0EtHDCU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xMxHDKFS0Yry3q6PixI0Ay4Raa7ReKAAby+RJnbrs5nUGtAX1NchAU8Rs865GJ7o6 ZqTKPFLkgse1LD9ZLpFsdX5+dHxJ1oJypqHHKHztJj3O93uzQByTMpl18Yqm7QAoXy NKQ6pKzDbdGz4D/dodQ2wx2A86gVWJQY7XxHtP9c= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Logan Gunthorpe , Sagi Grimberg , Chaitanya Kulkarni , Sasha Levin , linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 5.2 12/44] nvmet-file: fix nvmet_file_flush() always returning an error Date: Tue, 20 Aug 2019 09:39:56 -0400 Message-Id: <20190820134028.10829-12-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190820134028.10829-1-sashal@kernel.org> References: <20190820134028.10829-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Logan Gunthorpe [ Upstream commit cfc1a1af56200362d1508b82b9a3cc3acb2eae0c ] Presently, nvmet_file_flush() always returns a call to errno_to_nvme_status() but that helper doesn't take into account the case when errno=0. So nvmet_file_flush() always returns an error code. All other callers of errno_to_nvme_status() check for success before calling it. To fix this, ensure errno_to_nvme_status() returns success if the errno is zero. This should prevent future mistakes like this from happening. Fixes: c6aa3542e010 ("nvmet: add error log support for file backend") Signed-off-by: Logan Gunthorpe Reviewed-by: Sagi Grimberg Reviewed-by: Chaitanya Kulkarni Signed-off-by: Sagi Grimberg Signed-off-by: Sasha Levin --- drivers/nvme/target/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c index e4db9a4411681..396cbc7ea3532 100644 --- a/drivers/nvme/target/core.c +++ b/drivers/nvme/target/core.c @@ -43,6 +43,9 @@ inline u16 errno_to_nvme_status(struct nvmet_req *req, int errno) u16 status; switch (errno) { + case 0: + status = NVME_SC_SUCCESS; + break; case -ENOSPC: req->error_loc = offsetof(struct nvme_rw_command, length); status = NVME_SC_CAP_EXCEEDED | NVME_SC_DNR; -- 2.20.1