All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Luca Stefani <luca.stefani.ge1@gmail.com>
Cc: Mukesh Ojha <quic_mojha@quicinc.com>,
	agross@kernel.org, andersson@kernel.org,
	konrad.dybcio@linaro.org, corbet@lwn.net, tony.luck@intel.com,
	gpiccoli@igalia.com, catalin.marinas@arm.com, will@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, robh+dt@kernel.org,
	linus.walleij@linaro.org, linux-gpio@vger.kernel.org,
	srinivas.kandagatla@linaro.org, linux-arm-msm@vger.kernel.org,
	linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH v3 09/18] soc: qcom: Add qcom's pstore minidump driver support
Date: Tue, 16 May 2023 13:48:39 -0700	[thread overview]
Message-ID: <202305161347.80204C1A0E@keescook> (raw)
In-Reply-To: <e25723bf-be85-b458-a84c-1a45392683bb@gmail.com>

On Tue, May 09, 2023 at 06:06:26PM +0200, Luca Stefani wrote:
> 
> On 03/05/23 19:02, Mukesh Ojha wrote:
> > This driver was inspired from the fact pstore ram region should be
> > fixed and boot firmware need to have awarness about this region,
> > so that it will be persistent across boot. But, there are many
> > QCOM SoC which does not support warm boot from hardware but they
> > have minidump support from the software, and for them, there is
> > no need of this pstore ram region to be fixed, but at the same
> > time have interest in the pstore frontends. So, this driver
> > get the dynamic reserved region from the ram and register the
> > ramoops platform device.
> > 
> >   +---------+     +---------+   +--------+     +---------+
> >   | console |     | pmsg    |   | ftrace |     | dmesg   |
> >   +---------+     +---------+   +--------+     +---------+
> >         |             |             |              |
> >         |             |             |              |
> >         +------------------------------------------+
> >                            |
> >                           \ /
> >                    +----------------+
> >              (1)   |pstore frontends|
> >                    +----------------+
> >                            |
> >                           \ /
> >                   +------------------- +
> >              (2)  | pstore backend(ram)|
> >                   +--------------------+
> >                            |
> >                           \ /
> >                   +--------------------+
> >              (3)  |qcom_pstore_minidump|
> >                   +--------------------+
> >                            |
> >                           \ /
> >                     +---------------+
> >              (4)    | qcom_minidump |
> >                     +---------------+
> > 
> > This driver will route all the pstore front data to the stored
> > in qcom pstore reserved region and the reason of showing an
> > arrow from (3) to (4) as qcom_pstore_minidump driver will register
> > all the available frontends region with qcom minidump driver
> > in upcoming patch.
> > 
> > Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
> [...]
> > +static struct qcom_ramoops_config default_ramoops_config = {
> > +	.mem_type = 2,
> > +	.record_size = 0x0,
> > +	.console_size = 0x200000,
> > +	.ftrace_size = 0x0,
> > +	.pmsg_size = 0x0,
> > +};
> 
> This is effectively hard-cording the configuration of ramoops.
> 
> Since the memory range is dynamic and by itself doesn't impose any
> limitation this should be configurable in the device-tree, like a standard
> ramoops entry backed by a memory range.
> 
> I think this should provide the same interface/knobs as pstore-ram does,
> unless there's some known limitations to minidump, in which case those
> should be expressed.

Yeah, I had the same thought reading this myself. Beyond that, it looks
fine as a way to let pstore know about a new RAM backend.

-Kees

-- 
Kees Cook

WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: Luca Stefani <luca.stefani.ge1@gmail.com>
Cc: Mukesh Ojha <quic_mojha@quicinc.com>,
	agross@kernel.org, andersson@kernel.org,
	konrad.dybcio@linaro.org, corbet@lwn.net, tony.luck@intel.com,
	gpiccoli@igalia.com, catalin.marinas@arm.com, will@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, robh+dt@kernel.org,
	linus.walleij@linaro.org, linux-gpio@vger.kernel.org,
	srinivas.kandagatla@linaro.org, linux-arm-msm@vger.kernel.org,
	linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH v3 09/18] soc: qcom: Add qcom's pstore minidump driver support
Date: Tue, 16 May 2023 13:48:39 -0700	[thread overview]
Message-ID: <202305161347.80204C1A0E@keescook> (raw)
In-Reply-To: <e25723bf-be85-b458-a84c-1a45392683bb@gmail.com>

On Tue, May 09, 2023 at 06:06:26PM +0200, Luca Stefani wrote:
> 
> On 03/05/23 19:02, Mukesh Ojha wrote:
> > This driver was inspired from the fact pstore ram region should be
> > fixed and boot firmware need to have awarness about this region,
> > so that it will be persistent across boot. But, there are many
> > QCOM SoC which does not support warm boot from hardware but they
> > have minidump support from the software, and for them, there is
> > no need of this pstore ram region to be fixed, but at the same
> > time have interest in the pstore frontends. So, this driver
> > get the dynamic reserved region from the ram and register the
> > ramoops platform device.
> > 
> >   +---------+     +---------+   +--------+     +---------+
> >   | console |     | pmsg    |   | ftrace |     | dmesg   |
> >   +---------+     +---------+   +--------+     +---------+
> >         |             |             |              |
> >         |             |             |              |
> >         +------------------------------------------+
> >                            |
> >                           \ /
> >                    +----------------+
> >              (1)   |pstore frontends|
> >                    +----------------+
> >                            |
> >                           \ /
> >                   +------------------- +
> >              (2)  | pstore backend(ram)|
> >                   +--------------------+
> >                            |
> >                           \ /
> >                   +--------------------+
> >              (3)  |qcom_pstore_minidump|
> >                   +--------------------+
> >                            |
> >                           \ /
> >                     +---------------+
> >              (4)    | qcom_minidump |
> >                     +---------------+
> > 
> > This driver will route all the pstore front data to the stored
> > in qcom pstore reserved region and the reason of showing an
> > arrow from (3) to (4) as qcom_pstore_minidump driver will register
> > all the available frontends region with qcom minidump driver
> > in upcoming patch.
> > 
> > Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
> [...]
> > +static struct qcom_ramoops_config default_ramoops_config = {
> > +	.mem_type = 2,
> > +	.record_size = 0x0,
> > +	.console_size = 0x200000,
> > +	.ftrace_size = 0x0,
> > +	.pmsg_size = 0x0,
> > +};
> 
> This is effectively hard-cording the configuration of ramoops.
> 
> Since the memory range is dynamic and by itself doesn't impose any
> limitation this should be configurable in the device-tree, like a standard
> ramoops entry backed by a memory range.
> 
> I think this should provide the same interface/knobs as pstore-ram does,
> unless there's some known limitations to minidump, in which case those
> should be expressed.

Yeah, I had the same thought reading this myself. Beyond that, it looks
fine as a way to let pstore know about a new RAM backend.

-Kees

-- 
Kees Cook

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-05-16 20:48 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-03 17:02 [PATCH v3 00/18] Add basic Minidump kernel driver support Mukesh Ojha
2023-05-03 17:02 ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 01/18] remoteproc: qcom: Expand MD_* as MINIDUMP_* Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 12:35   ` Krzysztof Kozlowski
2023-05-04 12:35     ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 02/18] remoteproc: qcom: Move minidump specific data to qcom_minidump.h Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:38   ` Krzysztof Kozlowski
2023-05-04 11:38     ` Krzysztof Kozlowski
2023-05-04 11:58     ` Mukesh Ojha
2023-05-04 11:58       ` Mukesh Ojha
2023-05-04 12:03       ` Krzysztof Kozlowski
2023-05-04 12:03         ` Krzysztof Kozlowski
2023-05-04 12:26         ` Mukesh Ojha
2023-05-04 12:26           ` Mukesh Ojha
2023-05-04 12:36           ` Krzysztof Kozlowski
2023-05-04 12:36             ` Krzysztof Kozlowski
2023-05-04 12:57             ` Mukesh Ojha
2023-05-04 12:57               ` Mukesh Ojha
2023-05-04 15:16               ` Krzysztof Kozlowski
2023-05-04 15:16                 ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 03/18] docs: qcom: Add qualcomm minidump guide Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-08 10:01   ` Bagas Sanjaya
2023-05-25 16:00     ` Mukesh Ojha
2023-05-25 16:00       ` Mukesh Ojha
2023-05-13 18:46   ` Randy Dunlap
2023-05-25 15:59     ` Mukesh Ojha
2023-05-25 15:59       ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 04/18] soc: qcom: Add Qualcomm minidump kernel driver Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:36   ` Krzysztof Kozlowski
2023-05-04 11:36     ` Krzysztof Kozlowski
2023-05-04 12:38     ` Mukesh Ojha
2023-05-04 12:38       ` Mukesh Ojha
2023-05-04 15:21       ` Krzysztof Kozlowski
2023-05-04 15:21         ` Krzysztof Kozlowski
2023-05-04 16:34         ` Krzysztof Kozlowski
2023-05-04 16:34           ` Krzysztof Kozlowski
2023-05-08  7:10           ` Mukesh Ojha
2023-05-09  7:11             ` Krzysztof Kozlowski
2023-05-28 11:29               ` Mukesh Ojha
2023-05-28 11:29                 ` Mukesh Ojha
2023-05-14  4:16             ` Trilok Soni
2023-05-05  5:34         ` Mukesh Ojha
2023-05-05  5:34           ` Mukesh Ojha
2023-06-02 10:43     ` Mukesh Ojha
2023-06-02 10:43       ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 05/18] soc: qcom: minidump: Add pending region registration support Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 06/18] soc: qcom: minidump: Add update region support Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:40   ` Krzysztof Kozlowski
2023-05-04 11:40     ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 07/18] arm64: defconfig: Enable Qualcomm minidump driver Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:23   ` Krzysztof Kozlowski
2023-05-04 11:23     ` Krzysztof Kozlowski
2023-05-04 11:45     ` Mukesh Ojha
2023-05-04 11:45       ` Mukesh Ojha
2023-05-04 12:32       ` Krzysztof Kozlowski
2023-05-04 12:32         ` Krzysztof Kozlowski
2023-05-04 14:43         ` Mukesh Ojha
2023-05-04 14:43           ` Mukesh Ojha
2023-05-04 15:24           ` Krzysztof Kozlowski
2023-05-04 15:24             ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 08/18] remoterproc: qcom: refactor to leverage exported minidump symbol Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 09/18] soc: qcom: Add qcom's pstore minidump driver support Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 15:35   ` Krzysztof Kozlowski
2023-05-04 15:35     ` Krzysztof Kozlowski
2023-05-09 16:06   ` Luca Stefani
2023-05-16 20:48     ` Kees Cook [this message]
2023-05-16 20:48       ` Kees Cook
2023-05-03 17:02 ` [PATCH v3 10/18] dt-bindings: reserved-memory: Add qcom,ramoops-minidump binding Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:22   ` Krzysztof Kozlowski
2023-05-04 11:22     ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 11/18] arm64: dts: qcom: sm8450: Add Qualcomm ramoops minidump node Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04  7:14   ` Konrad Dybcio
2023-05-04  7:14     ` Konrad Dybcio
2023-05-04 11:26   ` Krzysztof Kozlowski
2023-05-04 11:26     ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 12/18] soc: qcom: Register pstore frontend region with minidump Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-09 15:45   ` Luca Stefani
2023-05-16 20:50   ` Kees Cook
2023-05-16 20:50     ` Kees Cook
2023-05-03 17:02 ` [PATCH v3 13/18] arm64: defconfig: Enable Qualcomm pstore minidump client driver Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:23   ` Krzysztof Kozlowski
2023-05-04 11:23     ` Krzysztof Kozlowski
2023-05-03 17:02 ` [PATCH v3 14/18] firmware: qcom_scm: provide a read-modify-write function Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-18 18:48   ` Trilok Soni
2023-05-18 18:48     ` Trilok Soni
2023-05-03 17:02 ` [PATCH v3 15/18] pinctrl: qcom: Use qcom_scm_io_update_field() Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 16/18] firmware: scm: Modify only the download bits in TCSR register Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 17/18] firmware: qcom_scm: Refactor code to support multiple download mode Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-03 17:02 ` [PATCH v3 18/18] firmware: qcom_scm: Add multiple download mode support Mukesh Ojha
2023-05-03 17:02   ` Mukesh Ojha
2023-05-04 11:26 ` [PATCH v3 00/18] Add basic Minidump kernel driver support Krzysztof Kozlowski
2023-05-04 11:26   ` Krzysztof Kozlowski
2023-07-15 22:13 ` (subset) " Bjorn Andersson
2023-07-15 22:13   ` Bjorn Andersson
2023-07-17  1:15   ` Mathieu Poirier
2023-07-17  1:15     ` Mathieu Poirier
2023-07-17  8:02     ` Krzysztof Kozlowski
2023-07-17  8:02       ` Krzysztof Kozlowski
2023-07-17 16:21     ` Bjorn Andersson
2023-07-17 16:21       ` Bjorn Andersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202305161347.80204C1A0E@keescook \
    --to=keescook@chromium.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=gpiccoli@igalia.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=luca.stefani.ge1@gmail.com \
    --cc=quic_mojha@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tony.luck@intel.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.