devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Rob Herring <robh@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Hector Yuan <hector.yuan@mediatek.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Rob Herring <robh+dt@kernel.org>
Subject: Re: [PATCH v4] dt-bindings: dvfs: Add support for generic performance domains
Date: Thu, 14 Oct 2021 15:55:55 +0100	[thread overview]
Message-ID: <20211014145555.uoi2hyoonrptrd5m@bogus> (raw)
In-Reply-To: <CAPDyKFr=pf-0JbkiD6rkzeWwPZmDxEE_R=ovhzRUHfVjO9S0tw@mail.gmail.com>

On Thu, Oct 14, 2021 at 12:56:46PM +0200, Ulf Hansson wrote:
> On Mon, 17 May 2021 at 18:14, Sudeep Holla <sudeep.holla@arm.com> wrote:
> >
> > The CLKSCREW attack [0] exposed security vulnerabilities in energy management
> > implementations where untrusted software had direct access to clock and
> > voltage hardware controls. In this attack, the malicious software was able to
> > place the platform into unsafe overclocked or undervolted configurations. Such
> > configurations then enabled the injection of predictable faults to reveal
> > secrets.
> >
> > Many Arm-based systems used to or still use voltage regulator and clock
> > frameworks in the kernel. These frameworks allow callers to independently
> > manipulate frequency and voltage settings. Such implementations can render
> > systems susceptible to this form of attack.
> >
> > Attacks such as CLKSCREW are now being mitigated by not having direct and
> > independent control of clock and voltage in the kernel and moving that
> > control to a trusted entity, such as the SCP firmware or secure world
> > firmware/software which are to perform sanity checking on the requested
> > performance levels, thereby preventing any attempted malicious programming.
> >
> > With the advent of such an abstraction, there is a need to replace the
> > generic clock and regulator bindings used by such devices with a generic
> > performance domains bindings.
> >
> > [0] https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/tang
> >
> > Link: https://lore.kernel.org/r/20201116181356.804590-1-sudeep.holla@arm.com
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>
> Hi Sudeep/Viresh/Rob,
>
> I noticed this binding recently got accepted, so I guess I have missed
> the opportunity to provide you with a few comments.
>

Sorry for not cc-ing you, wasn't aware of the below mentioned intersection,
so assumed you are not one of the interested parties.

> In any case, I would like to ask a few questions. In particular, am I
> trying to understand why the power-domains bindings [1] can't be used
> for this?
>

One reason I can think of is on some platforms, the power domains are
completely controlled by the firmware and not exposed to the OSPM.
This is mostly applicable for CPU devices(Platform co-ordinated PSCI)

> The power-domains are capable of dealing with "performance" through
> the "operating-points-v2" DT property, which maps to the generic OPP
> bindings [2]. I wonder why that isn't sufficient here? Can you please
> elaborate?
>

Even if the power domains are exposed to the OSPM, the OPPs can be
firmware enumerated rather than DT. Not sure if it is possible to
represent such systems in the above mentioned bindings. IIUC, the genpd
uses clock and regulator apis to drive the performance, but these
platforms have f/w interface to drive the OPPs(abstracted).

I am happy to know if there are ways to support such systems with the
options you have mentioned above.

--
Regards,
Sudeep

  reply	other threads:[~2021-10-14 14:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 15:54 [PATCH v4] dt-bindings: dvfs: Add support for generic performance domains Sudeep Holla
2021-05-17 19:17 ` Rob Herring
2021-05-19 11:23   ` Sudeep Holla
2021-05-20  3:54     ` Viresh Kumar
2021-05-17 20:45 ` Rob Herring
2021-05-19 11:20   ` Sudeep Holla
2021-05-20 19:43     ` Rob Herring
2021-05-21  4:08       ` Viresh Kumar
2021-05-21 15:24         ` Sudeep Holla
2021-05-24  9:17           ` Viresh Kumar
2021-05-24 10:05             ` Sudeep Holla
2021-10-14 10:56 ` Ulf Hansson
2021-10-14 14:55   ` Sudeep Holla [this message]
2021-10-15  9:17     ` Ulf Hansson
2021-10-19  7:24       ` Viresh Kumar
2021-10-19 13:58         ` Ulf Hansson
2021-10-20  6:24           ` Viresh Kumar
2021-10-20 10:25       ` Sudeep Holla
2021-10-21 13:34         ` Ulf Hansson
2021-10-21 15:35           ` Sudeep Holla
2021-10-20 12:11       ` Rob Herring
2021-10-21 13:13         ` Ulf Hansson
2021-10-21 13:33           ` Sudeep Holla
2021-10-21 16:01             ` Ulf Hansson

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=20211014145555.uoi2hyoonrptrd5m@bogus \
    --to=sudeep.holla@arm.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hector.yuan@mediatek.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=viresh.kumar@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).