From patchwork Fri Feb 21 07:37:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 230609 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=-9.8 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=unavailable 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 0F946C35640 for ; Fri, 21 Feb 2020 08:48:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D4A7B2071E for ; Fri, 21 Feb 2020 08:48:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582274882; bh=No7J9OL8KUJxRovcUMMeH87OibVs7K4ofQVzEkaV8HM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=KiqIlMMl2oHsN5YnZfd84yv+VPfHU7c6sj0WXixVhdlVp7SRF77Q0us0FTPV+iNb2 SmlI4AzojogtgzkuQJncvJ+uqtvBk5V2EavYMygeRKFD1R/YSOSKZ1oSHZmyS4A9U2 9fM5AEZ0ZWLplu7alWCrY1HYPjKAD8i+g8nYahRc= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728945AbgBUHrg (ORCPT ); Fri, 21 Feb 2020 02:47:36 -0500 Received: from mail.kernel.org ([198.145.29.99]:43492 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728940AbgBUHrf (ORCPT ); Fri, 21 Feb 2020 02:47:35 -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 86D2A208C4; Fri, 21 Feb 2020 07:47:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582271255; bh=No7J9OL8KUJxRovcUMMeH87OibVs7K4ofQVzEkaV8HM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wVHuW1Pk1fBteybcN7YLYzpq+FbAQbHT3yOpLHBNWOZSiKqv8tUJbvEVOO/rnQTMl yVkseBNea71wr4NVFq+Vq/Lo4kn785It5St5bCATq8OnrhddjKERCGic8gy6znwHeJ amXwX+KM2FRezEOUY6+MSA+4nXu9Ym4lBySmqAos= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Colin Ian King , Minchan Kim , Sergey Senozhatsky , Jens Axboe , Andrew Morton , Linus Torvalds , Sasha Levin Subject: [PATCH 5.5 097/399] drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store Date: Fri, 21 Feb 2020 08:37:02 +0100 Message-Id: <20200221072411.810705013@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Colin Ian King [ Upstream commit 3b82a051c10143639a378dcd12019f2353cc9054 ] Currently when an error code -EIO or -ENOSPC in the for-loop of writeback_store the error code is being overwritten by a ret = len assignment at the end of the function and the error codes are being lost. Fix this by assigning ret = len at the start of the function and remove the assignment from the end, hence allowing ret to be preserved when error codes are assigned to it. Addresses Coverity ("Unused value") Link: http://lkml.kernel.org/r/20191128122958.178290-1-colin.king@canonical.com Fixes: a939888ec38b ("zram: support idle/huge page writeback") Signed-off-by: Colin Ian King Acked-by: Minchan Kim Cc: Sergey Senozhatsky Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- drivers/block/zram/zram_drv.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index 4285e75e52c34..1bf4a908a0bd9 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -626,7 +626,7 @@ static ssize_t writeback_store(struct device *dev, struct bio bio; struct bio_vec bio_vec; struct page *page; - ssize_t ret; + ssize_t ret = len; int mode; unsigned long blk_idx = 0; @@ -762,7 +762,6 @@ next: if (blk_idx) free_block_bdev(zram, blk_idx); - ret = len; __free_page(page); release_init_lock: up_read(&zram->init_lock);