Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5136587imu; Tue, 8 Jan 2019 12:10:14 -0800 (PST) X-Google-Smtp-Source: ALg8bN6NbiPkx1yYdBGfPknOyeUpwuyR48SajXkGHEUZ0KhmBbJzscJEarFG7E8V3Umc8A6MKM92 X-Received: by 2002:a63:2c82:: with SMTP id s124mr2697630pgs.73.1546978214873; Tue, 08 Jan 2019 12:10:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546978214; cv=none; d=google.com; s=arc-20160816; b=DgjLKLbvk+8ktPOAUekav5Sc58x6pFCwKTFRVcKOkskIQsYxlleDVuIN7FzRRfx+N5 7O95rWQXMyMrLb8uydWNMGqszfSO5pLOztB2C1DB15MLK9X8EYzOHJ3/xJDbGSzt/rNH gZl9NMTfxWrp2mNAbc9JQyPitGWdMvGd0/TC/omMh0ToEI+aihGov1kjtNANoyWG6MMi aVaojE/9EUFOR+KvUsCT/6sZtHipBD7QuDq/32TUqFxjkgJCUgcj9iwm/lf/67Ap2pyE mJP9BQ8imJU1MTRG2Zxkq22BjTDlj64sMnOUrJpuj56e1mxNgKBV4+l5Mih2I4OgxAww Qxyw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NIAI/3S3HRdyL5bBKeUcXYZx2rhmcbelNpVFJfEPaGo=; b=K/9V6HcAYcUNZlbWOukRZEsIEUlhHotqPYiJe9oBr2TOw0l8oMwLNfOTMjTNJGXyNt wTj0GM0fw2BIn7gIlzWBsojUfO3qjEnu9umZ6NyQXyES4nKXcNwmHk7cTzV7KZZsz3Bo ekEcf4pQSE3yy2kbS3zzGD+BOQ0nBQp8Ms5ya70HOMqdZ1pO4nXIFCPeDDgUmGZ0aQkE qCswZDp3FKU4pcW878rxpWWKXcdCpPKjYtx0bLsM9P6mIert5gn2Hao1bz1NYKAcdn2t u809pNyYYVmXTJg5w/4Tbb54j5YzWOTGJJ6Mo4phZ8dOwDkj8SqB2ydXULEr6cdpsYJQ r0hQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=bV7t0GsF; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e63si26758569pgc.239.2019.01.08.12.09.59; Tue, 08 Jan 2019 12:10:14 -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=bV7t0GsF; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733081AbfAHUHQ (ORCPT + 99 others); Tue, 8 Jan 2019 15:07:16 -0500 Received: from mail.kernel.org ([198.145.29.99]:34424 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729763AbfAHT1y (ORCPT ); Tue, 8 Jan 2019 14:27:54 -0500 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (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 2ACE72176F; Tue, 8 Jan 2019 19:27:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546975673; bh=fypjMSS340+Ry3NFY1eYH6c89xR4iMXHmMMAD6Lr1JU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bV7t0GsF+E+Z95sEUSlDi2+h7tQ0krYtS2I+b75ulPeIk4BbdE69D++VtkmkyQl3h QWSIAVJo91Rr9MXC2nKXg5OdHfM5NwN/uufH41UOEPk8+WEOToE5MRCle9QA/0YeUH ROo3OdcWGetJkQRSSjpsWWkSJKgQmHqL3jpfW120= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Joel Fernandes (Google)" , Kees Cook , Sasha Levin Subject: [PATCH AUTOSEL 4.20 045/117] pstore/ram: Do not treat empty buffers as valid Date: Tue, 8 Jan 2019 14:25:13 -0500 Message-Id: <20190108192628.121270-45-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190108192628.121270-1-sashal@kernel.org> References: <20190108192628.121270-1-sashal@kernel.org> MIME-Version: 1.0 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: "Joel Fernandes (Google)" [ Upstream commit 30696378f68a9e3dad6bfe55938b112e72af00c2 ] The ramoops backend currently calls persistent_ram_save_old() even if a buffer is empty. While this appears to work, it is does not seem like the right thing to do and could lead to future bugs so lets avoid that. It also prevents misleading prints in the logs which claim the buffer is valid. I got something like: found existing buffer, size 0, start 0 When I was expecting: no valid data in buffer (sig = ...) This bails out early (and reports with pr_debug()), since it's an acceptable state. Signed-off-by: Joel Fernandes (Google) Co-developed-by: Kees Cook Signed-off-by: Kees Cook Signed-off-by: Sasha Levin --- fs/pstore/ram_core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c index 12e21f789194..79f0e183f135 100644 --- a/fs/pstore/ram_core.c +++ b/fs/pstore/ram_core.c @@ -497,6 +497,11 @@ static int persistent_ram_post_init(struct persistent_ram_zone *prz, u32 sig, sig ^= PERSISTENT_RAM_SIG; if (prz->buffer->sig == sig) { + if (buffer_size(prz) == 0) { + pr_debug("found existing empty buffer\n"); + return 0; + } + if (buffer_size(prz) > prz->buffer_size || buffer_start(prz) > buffer_size(prz)) pr_info("found existing invalid buffer, size %zu, start %zu\n", -- 2.19.1