From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 183EAC67861 for ; Tue, 9 Apr 2024 22:18:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 39D046B0083; Tue, 9 Apr 2024 18:18:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 34C476B0085; Tue, 9 Apr 2024 18:18:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1ED7D6B0087; Tue, 9 Apr 2024 18:18:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 018356B0083 for ; Tue, 9 Apr 2024 18:18:50 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id AE248A0E14 for ; Tue, 9 Apr 2024 22:18:50 +0000 (UTC) X-FDA: 81991409220.23.4DF8D88 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by imf30.hostedemail.com (Postfix) with ESMTP id C28F480011 for ; Tue, 9 Apr 2024 22:18:48 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=lL+Ikrsa; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf30.hostedemail.com: domain of keescook@chromium.org designates 209.85.210.177 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712701128; a=rsa-sha256; cv=none; b=vBHnB/EGw/FOMsbdk384dYPzneTkIHzbiwLTJCGXaEdgzXHQVTdP1YsPIzt2DRcF7xPOwP yGCLYkdK4poIqppKDemy0rBvRu8jNJk4cMhGDsM6dma8QZM6wnyuDatHb844ab44UnEjVr CmPvgvD9+A7MUQSpQInG2L2r6MQv2Sg= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=lL+Ikrsa; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf30.hostedemail.com: domain of keescook@chromium.org designates 209.85.210.177 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712701128; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=F+JyR7XVHoRHZc6sojXb4+4iOMxV4P55AJcvcX75Hlk=; b=tkFDLfSLsoEkh854seGQ6xg+ovfsNkU3VhxnltLi3HumnwHYBuX22l6+dvztW3hceDyn3s rwIK8KdAOyg/K3NzonmJlDFGb+NJkKytwjxVwN82asAs4HvQfY05beCZNLZIcoy42EiLQd 778++dL3VE9Fr3X5saIaq9DLIFnKgV0= Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-6ead4093f85so5012832b3a.3 for ; Tue, 09 Apr 2024 15:18:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1712701127; x=1713305927; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=F+JyR7XVHoRHZc6sojXb4+4iOMxV4P55AJcvcX75Hlk=; b=lL+Ikrsa/exd8krHpnOjD5HsiYR5RfxpuvRRsDRSowIT/RTrgYtoMg/tvq8wSObgFh OQoTOIWpKIl+IjKG5iSPZhBYyhT0eXPxjXAVWbuhWPDaM0kb7pS2gKka2nQvljCvmqDw EUmBy6IgXNJXWxtC79Eo/DZ5vDC+0s//Xu6wc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712701127; x=1713305927; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=F+JyR7XVHoRHZc6sojXb4+4iOMxV4P55AJcvcX75Hlk=; b=wa1TPjSW2a5bohMDS10PpCnFXHhOtQiT++D+pibyvmL9FHHzhmhiFP4uaJrTjoY7Jq CrFOmFiiW0/mwEzFzuNHhpITcoiPI2zFXglG78NbN0tsbnU+hdCt/HWoxcbFXdfASRDZ kObXQ+48JLjhSfWaSUi+b+8QSX8/1u4+WfRYGEy9RLqS3xoEAzrsLSCN361HorO8GL09 26LyR1IonqcFyxjpd4OKx/+yiAVe+SkR6bnhjAvurM1YDFOdr6a0blgFaaWbhbbvoKUG 9JBWkgm7ijAmnGkVSpWBHdxMLJM9FIifO+rJj4G998OwpK9qfY1qFatvY1FfBBYJ5vAJ 4pVw== X-Forwarded-Encrypted: i=1; AJvYcCVg6qaMGrDBVo/qq6reQRDfAHSGLYa/uXQIU5r2Yq1wD7NyRXzTzNw+lJXoiuT0HkLXsG/yWLrtAoM0YalQtkG/1uU= X-Gm-Message-State: AOJu0YyYH9p/9ZQg2xezjxSjuMBW+/VDvMi20XLicYxc3QqH4dh0kgJM 1MUoKC4LhOansWE+tdzFg7MoQGgv/oASfcvXT/N5qXGskw62H4PsD02UPOd9ag== X-Google-Smtp-Source: AGHT+IENZctdg8MkUuUiVzh50tzQyi+yJOAszWlX5nLtc5XoQbPa9E+CgbKpF8Y3/gmyeJNYOs1OWw== X-Received: by 2002:a17:902:d4c1:b0:1e4:1873:843c with SMTP id o1-20020a170902d4c100b001e41873843cmr1191665plg.62.1712701127333; Tue, 09 Apr 2024 15:18:47 -0700 (PDT) Received: from www.outflux.net ([198.0.35.241]) by smtp.gmail.com with ESMTPSA id q12-20020a17090311cc00b001e223b9eb25sm9416376plh.153.2024.04.09.15.18.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 15:18:46 -0700 (PDT) Date: Tue, 9 Apr 2024 15:18:45 -0700 From: Kees Cook To: Steven Rostedt Cc: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , linux-mm@kvack.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Peter Zijlstra , Tony Luck , "Guilherme G. Piccoli" , linux-hardening@vger.kernel.org, Guenter Roeck , Ross Zwisler , wklin@google.com, Vineeth Remanan Pillai , Joel Fernandes , Suleiman Souhlal , Linus Torvalds , Catalin Marinas , Will Deacon Subject: Re: [POC][RFC][PATCH 2/2] pstore/ramoops: Add ramoops.mem_name= command line option Message-ID: <202404091514.B97720B8@keescook> References: <20240409210254.660888920@goodmis.org> <20240409211351.234897475@goodmis.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240409211351.234897475@goodmis.org> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: C28F480011 X-Stat-Signature: o4j6tapurm6dqemi3pshk3cine9nbw77 X-HE-Tag: 1712701128-364269 X-HE-Meta: U2FsdGVkX18ipNmjc4UE/I88Eu/JXHxsgA5YEoEHlyNRxLaWPhjSRjhSXvPX7i9esurJxpAcXI+EB0jM2toMFJe2SCHwZT2GFDB0AYhqjVdmAXZJXfaFgWue8TofqTcKNkXL5gmMz2lWrtJehitJyWgLNjAeCdXjE9Z1Fx7ZhDL2wkHgGtcjnDMMa4PsgTeyXwsybzxW1HLuGwUv3YyQ66eFYJTkVXRTlQCS2yp5wN1YplDIdEdIiRQU8KaV91AGur7WWHJMDKsSorO1HQz16vLxx/BOKkee0N4UDVetKwBrLQ+pooGfBxnZDF1xpt1bm/AXblAUcl++IRc29VMPerdyIEHxa5UE4QoBIeDnGLoVPOz44RQWvwwWiaqiBNBYad9klOl+VYQJeVT7nayM2KX1jfBs8YsazHj/XI1SipLmz17vHttGy3BEghIgGm3rGyZy9HBKfwYH9QnxjYI5uGSVYVaRREecM+mbpWPx+NemexSGWfXChQtNITVbyEgHgWmnabqzIN5O+IP8SpiK8OluAv+ie02ijybuRXMzPY4DNwQzjGnWH2d6cqrGl4Es/FkiUKG4JJbuVlHcSRh23g4WRR5A9j9fgG5GckqZSPYkw+ATjrUEQ6O0hYxRin0Ky/0Z5fzkaqsoch/fMg+S7ytalelLenCTrR0ZJHRpMWYgh4Rk5VkINGFVi8KLQ+UFjdnutD7hFbzji4WA7wK4h5NHDI0I8oOgbHEExu55qjyF4GQHF5GxKr/bV35wF5oMVvM6IhRWS/TvRp4JX7ESAL/MXzJ+fA1YQNwMXcpE9HYRNldFpZ72/HkX+8NGBbnd0pIDrEPq6wIAgJUaZqxvja/sqcieYRl/UFAKA/q+HMM08n6yF98RlTmRwHYku8Thyaiu8D3VCwuaRpDZfzFhBUgzqDvSb5x6F2j6KbIg5S3q5+f1fvFcklAb3+4QXC4gF9A8CnMHecspqdL5IKw /gshE0N5 S5UG4XtlFMimwRku4L4NkioGuv5Gbddmh5UXQGKf0rnBptsxMHDMes4Fp2sKxnhnx9YKgfQ6azXRkWoNj3+KKCZcehBqoRKg5axt/XgI+q6eE8H86K9GRLy1WGCy6Dd34GjG0Ynj22WjAENQ9DJH0FkrICD90lNmMEheBuVcqpKDSLGcZ9fzmUPPj+TU2dguki2QgL4o29oX8W3F/vqKlS/C6PpJIiKsa0Qr2Vpz0v/Qz9/8T6/TSPp1/z2PKJKyArcGgITqrQR6hzE75X1FdcMvnb/nR483dqmq6Ur2ZEIbXzngkoKdwyR2J5xMn+Esa9ffkYzSaplwFtAF4Jswi7tK1fGVxP0F9wBv89FgbX16pvf83zgZTzDutGxK1oBZgIOzDwEXyxivrNIWZ+ylnh3KIcLPPXImaa+ed4FX53sc/WpMayhUh8wUx5Tn1qAvhSerhDrSTkcculB4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Apr 09, 2024 at 05:02:56PM -0400, Steven Rostedt wrote: > From: "Steven Rostedt (Google)" > > Add a method to find a region specified by memmap=nn*align:name for > ramoops. Adding a kernel command line parameter: > > memmap=12M*4096:oops ramoops.mem_name=oops > > Will use the size and location defined by the memmap parameter where it > finds the memory and labels it "oops". The "oops" in the ramoops option > is used to search for it. > > This allows for arbitrary RAM to be used for ramoops if it is known that > the memory is not cleared on kernel crashes or soft reboots. > > Signed-off-by: Steven Rostedt (Google) > --- > fs/pstore/ram.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c > index b1a455f42e93..c200388399fb 100644 > --- a/fs/pstore/ram.c > +++ b/fs/pstore/ram.c > @@ -50,6 +50,11 @@ module_param_hw(mem_address, ullong, other, 0400); > MODULE_PARM_DESC(mem_address, > "start of reserved RAM used to store oops/panic logs"); > > +static char *mem_name; > +module_param_named(mem_name, mem_name, charp, 0400); > +MODULE_PARM_DESC(mem_name, > + "name of kernel param that holds addr (builtin only)"); > + > static ulong mem_size; > module_param(mem_size, ulong, 0400); > MODULE_PARM_DESC(mem_size, > @@ -914,6 +919,19 @@ static void __init ramoops_register_dummy(void) > { > struct ramoops_platform_data pdata; > > +#ifndef MODULE > + /* Only allowed when builtin */ Why only when builtin? > + if (mem_name) { > + u64 start; > + u64 size; > + > + if (memmap_named(mem_name, &start, &size)) { > + mem_address = start; > + mem_size = size; > + } > + } > +#endif Otherwise this looks good, though I'd prefer some comments about what's happening here. (And in retrospect, separately, I probably need to rename "dummy" to "commandline" or something, since it's gathering valid settings here...) -- Kees Cook