Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2404169imu; Thu, 24 Jan 2019 12:10:38 -0800 (PST) X-Google-Smtp-Source: ALg8bN5Cul1iMvOVMNQhlAGn4iSJlx7+PXDyyeFlAAWocRc9GfV+Jcmjjugq+PJy3QYwfFXDjMq5 X-Received: by 2002:a62:39cb:: with SMTP id u72mr7890662pfj.223.1548360638331; Thu, 24 Jan 2019 12:10:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548360638; cv=none; d=google.com; s=arc-20160816; b=Ctft7VzowHcLPa1/R/o9Zka1RYvBMy92fMZ/DIDYeSrEFMrySQ0YA+9qO4JHniQQ04 3OmpmNfK7q9XfRGNcaiw5paaCufgMOpZ4LcijDHCuXg+n++3nc6kX1/yH035gSTTvb47 mB/nVJtALL+HTObmwVYbpVoQAq1GPRQ3c1b4ujEMiHZHUucPPjL5B4AxM8U1c/Uyvmxx 7zEpOSomeu0Vj7k9gXOGvBo29AgUtUJq40xGsl3UCIyCX/Ij+ERXQW9aZGiWlQNEy/Rw kgdPkhKeObCmMICqLBxebaXrq6o1bX03KZEDLWCRFFNM1uFFLIkLlEZpqGsokDtH7egp AJuA== 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=E4GVAiDpaFqt9CebA8hO9viROmYPJhYHkKLwNKRPhK4=; b=e3ywdTVaLVL+Hke6iQ8c7qIm1+JjoGx6s1DFKsjahVSzYAkq4nw9zR483hnVfcm4Q2 KXnv4Rf+o4+qccd/hEJsiFGdQk/DQpGGpUnoX4O+uS/HDuZR289K5DQOgS/aalLC5WKK b+6rHxuMhdU23mhQpOtaMx/Ngg1vc+cG/b0DsHJt2FCZuKPiv2PE9aCO3U0iI/ZppsPp cfr+JtPZEyBhXPsh8M2zlQIza+2VQ3nxdBX2ApJh2DCuF/VUR/dMr1/9pNHP9RPvrdWx x4+vl0Kf/2Ea3GDGVFoktU5Yqr6lsHMZ4tGCrEhqHAl1x+2Z8ZWENjwhqe+OEV2fm12u FcoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BRDzjLd8; 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 p66si8186721pfp.144.2019.01.24.12.10.22; Thu, 24 Jan 2019 12:10:38 -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=BRDzjLd8; 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 S1730051AbfAXT2v (ORCPT + 99 others); Thu, 24 Jan 2019 14:28:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:55604 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730440AbfAXT2o (ORCPT ); Thu, 24 Jan 2019 14:28:44 -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 11595218FC; Thu, 24 Jan 2019 19:28:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1548358123; bh=w4SC/e+AlAiUScLgvlf2rv0l4T0yNeuxWoq0TY5s1L8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BRDzjLd8pELtOLVSaAN+lX4bRV6CujRSw0qZLcKa3XAXIBv4ubcasbtuct6eCMFiW bp5LfZLqjj5meJdgTwCP7hcN7bEhWNV3RBMeJGWXDh0aOcMOnVch4eC50JQX0QZhGk wOUfx6oGcKDRkMC4OhbyNsDbQsOBPh3pRD7Xrffc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Joel Fernandes (Google)" , Kees Cook , Sasha Levin Subject: [PATCH 4.4 083/104] pstore/ram: Do not treat empty buffers as valid Date: Thu, 24 Jan 2019 20:20:12 +0100 Message-Id: <20190124190204.269355030@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190124190154.968308875@linuxfoundation.org> References: <20190124190154.968308875@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.4-stable review patch. If anyone has any objections, please let me know. ------------------ [ 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 bd21795ce657..679d75a864d0 100644 --- a/fs/pstore/ram_core.c +++ b/fs/pstore/ram_core.c @@ -445,6 +445,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