Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp6029111ybc; Wed, 27 Nov 2019 13:41:33 -0800 (PST) X-Google-Smtp-Source: APXvYqxSGDGjbe+SSBNw+1ayggLWAIfPz3UlZsiKxY7EBmytn5nsFuA3MZWii/9cFtp11JxQzpCP X-Received: by 2002:a17:906:6552:: with SMTP id u18mr50967264ejn.36.1574890893411; Wed, 27 Nov 2019 13:41:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574890893; cv=none; d=google.com; s=arc-20160816; b=i/Oj3WEf0C9dynM80/yoad+AeYrEGZ1dIrngddy/ap9GJh7dNyFtMd5jCxP3UlH/WO h2o+/FTRTy0YZHeksxTHv4LYIRwFPkS9S66kaTT3X5kCoKmw9mlPpg1X0GRFmqYc7VGp ImU7Dgugxd79DWLE+FO+bKZyGYMe8saFONtYGgqjxrYu7V8pU5+477hzpzglJUbtGr/Q C6QXqCZK1pdUATjyr2ePZtdXQeo+KbaS4w35jDHl0X3dW30hwkrPgEBVzMs7F1KqosXl SRH/tkc05VQts0FyXHF0aCCFOedSpThQndUwiHaNBU6+mggrsS39CVeUknJ3Z/TYxnZq AImw== 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=CCucD4KFMiCsXsmKGCbzP7zIPMNNdEigIE/o7xNfkEA=; b=wFmLtW4CbN5HA27SSpMuwVhKzbua5I1M+CDFo9eOpzq3Dkhses9ElNJWGEML4LLVzs fTptSzF8fsigbR80Sq+dv+o9mm103Qhi/e9p3NZXk7hOoubm1SquN+4AyGNGBFlHLdNl 01W+62fHWHR1dN+81lcPAtkmQWvPA1nFgDL+/dUUgcvpdHi+aP1XoRvKxi4Icqzp803X WDEPAilEw2nkxZAJrAoZkTdaVk3N2bbACMahzyvZ7MFs+ExyPuRq+CsV9xDWCZ/zv/iP mrMmcbK/Azjrw3UpExA2NwMkWt7aDGmFyJTKSnpXpz4fHJvykdsSiW5CLSm3uNVIq1Ma q1Iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=w5t1ggNT; 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 o28si12026042edc.353.2019.11.27.13.41.10; Wed, 27 Nov 2019 13:41:33 -0800 (PST) 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=w5t1ggNT; 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 S1729809AbfK0Vi4 (ORCPT + 99 others); Wed, 27 Nov 2019 16:38:56 -0500 Received: from mail.kernel.org ([198.145.29.99]:55146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728000AbfK0Uo7 (ORCPT ); Wed, 27 Nov 2019 15:44:59 -0500 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 CC5DF2178F; Wed, 27 Nov 2019 20:44:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887499; bh=/3L86ahHxWFk9TwhhR+R4fiBFcsOQCKIJhLpCrEHvCw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=w5t1ggNTlPqnzd5ARqJdgKRixGiiNuflQr49CVBkMKsImKHleeBwFLHOvokwsHUVl 01HIclFjYzXuuaIkYIuF0oG4qG5UZtLYl2a6G6WGFSnjAKYYKpEWPBzrzbXyDFPRgG cmzQCg7BywC1KCa79uNIc+0octLbFV+Q1f8/iYJI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Halil Pasic , Michael Mueller , "Michael S. Tsirkin" , Sasha Levin Subject: [PATCH 4.9 135/151] virtio_ring: fix return code on DMA mapping fails Date: Wed, 27 Nov 2019 21:31:58 +0100 Message-Id: <20191127203046.747863171@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191127203000.773542911@linuxfoundation.org> References: <20191127203000.773542911@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: Halil Pasic [ Upstream commit f7728002c1c7bfa787b276a31c3ef458739b8e7c ] Commit 780bc7903a32 ("virtio_ring: Support DMA APIs") makes virtqueue_add() return -EIO when we fail to map our I/O buffers. This is a very realistic scenario for guests with encrypted memory, as swiotlb may run out of space, depending on it's size and the I/O load. The virtio-blk driver interprets -EIO form virtqueue_add() as an IO error, despite the fact that swiotlb full is in absence of bugs a recoverable condition. Let us change the return code to -ENOMEM, and make the block layer recover form these failures when virtio-blk encounters the condition described above. Cc: stable@vger.kernel.org Fixes: 780bc7903a32 ("virtio_ring: Support DMA APIs") Signed-off-by: Halil Pasic Tested-by: Michael Mueller Signed-off-by: Michael S. Tsirkin Signed-off-by: Sasha Levin --- drivers/virtio/virtio_ring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 2f09294c59460..e459cd7302e27 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -427,7 +427,7 @@ unmap_release: kfree(desc); END_USE(vq); - return -EIO; + return -ENOMEM; } /** -- 2.20.1