Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2738378imj; Mon, 11 Feb 2019 07:45:49 -0800 (PST) X-Google-Smtp-Source: AHgI3IZO8I6/lryBIZ9x9JTPMOECLsIefdyDJU0IzyR4saho3oTqyuJkaUA4+mSzsvQGZQvF6BZ4 X-Received: by 2002:a17:902:7202:: with SMTP id ba2mr11326791plb.147.1549899949099; Mon, 11 Feb 2019 07:45:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549899949; cv=none; d=google.com; s=arc-20160816; b=dY+UR+cSuTtXxn1VMaNI03J4Ho2vNdslDvRwwvLwTjhePxABI5ZI2/n5r+hNge9UIC hjPtKL/YA8dqSA54g17Ld8+BfnOZ/QxZ1BvE4Ypa01nAq3W9i/6va3iurGsKFOd6w826 E/8z0BetBMM+RAAumQSUXvgm6A3rhd4QaibUEHP6/IrrvPjmTfLghgi5mlnlH90lBbz9 atSJmCt/rorbH6tsmP1otBL91VZPSqTEtx1xqZaonoGQciUkHFKLC30qCIWxlaxWXvF2 0n8UeQk/ghrqK8qnRGadvsoL2jnEPKPP5NfuEXdu4W7aJC2BzgFavLi1sBio1akXiUqN Kyrw== 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=gqh5+xcQeW12GFQPkhnCmML6nT9qicIM4CFrup0o8ok=; b=kYsiDFsRphj+2zfi3yjs9OoYCPfPVHLcaR1JF9ITMEOfwZ1Y8Ez4ieEiuvpgnmKzJ1 3oaULmqZEGqrDMoWlhfYB2RfIIGXrW4D5YEwidOGzOuuD3xjsGtC+Iy5BXTBj9iWS26F YIqI/2wzpm9B+7qen5yUU93OBZcK6R7q2bUmoRuvVGli6h0vPL7Xft5BwgPHYvQrhyGy g4WrnQbFVMVscHhhUpiGd77JfW971mYbCkZ8hoe3aYQun5BRbPWHiY/xRYXwFgGsNPqp LtPkVKUERS1U8BSztEvh5mzk6wZN3d5KaZBje5qR1wv44g2OlzBU4YL1ovFEu/IqICvV mwrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tGwejzGw; 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 19si7654230pgq.215.2019.02.11.07.45.31; Mon, 11 Feb 2019 07:45:49 -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=tGwejzGw; 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 S1732436AbfBKOoj (ORCPT + 99 others); Mon, 11 Feb 2019 09:44:39 -0500 Received: from mail.kernel.org ([198.145.29.99]:57458 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732862AbfBKOoh (ORCPT ); Mon, 11 Feb 2019 09:44:37 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 15BE320700; Mon, 11 Feb 2019 14:44:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549896276; bh=vCnr4UIjWXOs6N1pNMzZHSgtJojw78+XM5HP8sp2FB0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tGwejzGwFdJAeXQlC6m6waBmbVf1JIMRp5KtxiFrd2Xie76SgRHxuukPfaRK+4xz2 r02wc1TeInEqsB5Czr99a0x6kQrqgCRGV5jmVwSXyNfHT7aODRr3nEuXSYUf5f4myZ 97C7teEJJbQ7xk5JyE6ermRNUjMEIn9KnR3nyvbU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hans Holmberg , =?UTF-8?q?Javier=20Gonz=C3=A1lez?= , =?UTF-8?q?Matias=20Bj=C3=B8rling?= , Jens Axboe , Sasha Levin Subject: [PATCH 4.19 131/313] lightnvm: pblk: fix resubmission of overwritten write err lbas Date: Mon, 11 Feb 2019 15:16:51 +0100 Message-Id: <20190211141902.474238464@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190211141852.749630980@linuxfoundation.org> References: <20190211141852.749630980@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit c12fa401ac8c94a74aff68bb5736b3f1dc695fa8 ] Make sure we only look up valid lba addresses on the resubmission path. If an lba is invalidated in the write buffer, that sector will be submitted to disk (as it is already mapped to a ppa), and that write might fail, resulting in a crash when trying to look up the lba in the mapping table (as the lba is marked as invalid). Signed-off-by: Hans Holmberg Reviewed-by: Javier González Signed-off-by: Matias Bjørling Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin --- drivers/lightnvm/pblk-write.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/lightnvm/pblk-write.c b/drivers/lightnvm/pblk-write.c index 879227d584e7..c3e038d4b22e 100644 --- a/drivers/lightnvm/pblk-write.c +++ b/drivers/lightnvm/pblk-write.c @@ -158,9 +158,11 @@ static void pblk_prepare_resubmit(struct pblk *pblk, unsigned int sentry, w_ctx = &entry->w_ctx; /* Check if the lba has been overwritten */ - ppa_l2p = pblk_trans_map_get(pblk, w_ctx->lba); - if (!pblk_ppa_comp(ppa_l2p, entry->cacheline)) - w_ctx->lba = ADDR_EMPTY; + if (w_ctx->lba != ADDR_EMPTY) { + ppa_l2p = pblk_trans_map_get(pblk, w_ctx->lba); + if (!pblk_ppa_comp(ppa_l2p, entry->cacheline)) + w_ctx->lba = ADDR_EMPTY; + } /* Mark up the entry as submittable again */ flags = READ_ONCE(w_ctx->flags); -- 2.19.1