All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Marc Zyngier <maz@kernel.org>
Cc: Srinivas Ramana <sramana@codeaurora.org>,
	will@kernel.org, pajay@qti.qualcomm.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH 0/3] arm64: cpufeature: Add filter function to control
Date: Thu, 14 Jan 2021 18:37:37 +0000	[thread overview]
Message-ID: <20210114183737.GG16561@gaia> (raw)
In-Reply-To: <7b53c01dd5afcb29679c3a9cf72407a9@kernel.org>

On Thu, Jan 14, 2021 at 08:20:52AM +0000, Marc Zyngier wrote:
> On 2021-01-14 07:15, Srinivas Ramana wrote:
> > On 1/11/2021 5:40 AM, Marc Zyngier wrote:
> > > On 2021-01-09 00:29, Srinivas Ramana wrote:
> > > > This patchset adds a control function for cpufeature framework
> > > > so that the feature can be controlled at runtime.
> > > > 
> > > > Defer PAC on boot core and use the filter function added to disable
> > > > PAC from command line. This will help toggling the feature on systems
> > > > that do not support PAC or where PAC needs to be disabled at runtime,
> > > > without modifying the core kernel.
[...]
> > > I've been working for some time on a similar series to allow a feature
> > > set to be disabled during the early boot phase, initially to prevent
> > > booting a kernel with VHE, but the mechanism is generic enough to
> > > deal with most architectural features.
> > > 
> > > I took the liberty to lift your first patch and to add it to my
> > > series[1],
> > > further allowing PAuth to be disabled at boot time on top of BTI and
> > > VHE.
> > > 
> > > I'd appreciate your comments on this.
> > 
> > Thanks for sending this series. It seems to be more flexible compared
> > you what we did.
> > Following your discussion on allowing EXACT ftr_reg values.
> > 
> > Btw, do you have plan to add MTE in similar lines to control the
> > feature?
> > We may be needing this on some systems.
> 
> I don't have any need for this at the moment, as my initial goal was
> to enable a different boot flow for VHE. The BTI "support" was added
> as a way to demonstrate the use of __read_sysreg_by_encoding(), and
> your patches were a good opportunity to converge on a single solution.
> 
> But if you write the patches that do that, I can add them to the series,
> and Catalin/Will can decide whether they want to take them.

For MTE it's trickier (probably similar to VHE) as we do the setup early
in proc.S before we hit the cpufeature infrastructure.

So far we haven't agreed on disabling MTE means - is it disabled
completely (no Normal Tagged memory type) or we just need to disable tag
checking? The former is required if we expect buggy hardware (SoC-level,
not necessarily CPU). The latter, at least for the kernel, is already
handled via the kasan.mode cmdline. For user, we can disable the tagged
address ABI via sysctl (or kernel cmdline) and it indirectly disabled
MTE since the C library detects this.

-- 
Catalin

WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Marc Zyngier <maz@kernel.org>
Cc: Srinivas Ramana <sramana@codeaurora.org>,
	linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, pajay@qti.qualcomm.com,
	will@kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 0/3] arm64: cpufeature: Add filter function to control
Date: Thu, 14 Jan 2021 18:37:37 +0000	[thread overview]
Message-ID: <20210114183737.GG16561@gaia> (raw)
In-Reply-To: <7b53c01dd5afcb29679c3a9cf72407a9@kernel.org>

On Thu, Jan 14, 2021 at 08:20:52AM +0000, Marc Zyngier wrote:
> On 2021-01-14 07:15, Srinivas Ramana wrote:
> > On 1/11/2021 5:40 AM, Marc Zyngier wrote:
> > > On 2021-01-09 00:29, Srinivas Ramana wrote:
> > > > This patchset adds a control function for cpufeature framework
> > > > so that the feature can be controlled at runtime.
> > > > 
> > > > Defer PAC on boot core and use the filter function added to disable
> > > > PAC from command line. This will help toggling the feature on systems
> > > > that do not support PAC or where PAC needs to be disabled at runtime,
> > > > without modifying the core kernel.
[...]
> > > I've been working for some time on a similar series to allow a feature
> > > set to be disabled during the early boot phase, initially to prevent
> > > booting a kernel with VHE, but the mechanism is generic enough to
> > > deal with most architectural features.
> > > 
> > > I took the liberty to lift your first patch and to add it to my
> > > series[1],
> > > further allowing PAuth to be disabled at boot time on top of BTI and
> > > VHE.
> > > 
> > > I'd appreciate your comments on this.
> > 
> > Thanks for sending this series. It seems to be more flexible compared
> > you what we did.
> > Following your discussion on allowing EXACT ftr_reg values.
> > 
> > Btw, do you have plan to add MTE in similar lines to control the
> > feature?
> > We may be needing this on some systems.
> 
> I don't have any need for this at the moment, as my initial goal was
> to enable a different boot flow for VHE. The BTI "support" was added
> as a way to demonstrate the use of __read_sysreg_by_encoding(), and
> your patches were a good opportunity to converge on a single solution.
> 
> But if you write the patches that do that, I can add them to the series,
> and Catalin/Will can decide whether they want to take them.

For MTE it's trickier (probably similar to VHE) as we do the setup early
in proc.S before we hit the cpufeature infrastructure.

So far we haven't agreed on disabling MTE means - is it disabled
completely (no Normal Tagged memory type) or we just need to disable tag
checking? The former is required if we expect buggy hardware (SoC-level,
not necessarily CPU). The latter, at least for the kernel, is already
handled via the kasan.mode cmdline. For user, we can disable the tagged
address ABI via sysctl (or kernel cmdline) and it indirectly disabled
MTE since the C library detects this.

-- 
Catalin

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

  reply	other threads:[~2021-01-14 18:38 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09  0:29 [PATCH 0/3] arm64: cpufeature: Add filter function to control Srinivas Ramana
2021-01-09  0:29 ` [PATCH 1/3] arm64: Defer enabling pointer authentication on boot core Srinivas Ramana
2021-01-09  0:29 ` [PATCH 2/3] arm64: cpufeature: Add a filter function to cpufeature Srinivas Ramana
2021-01-09  0:29 ` [PATCH 3/3] arm64: Enable control of pointer authentication using early param Srinivas Ramana
2021-01-11 13:40 ` [PATCH 0/3] arm64: cpufeature: Add filter function to control Marc Zyngier
2021-01-11 13:40   ` Marc Zyngier
2021-01-14  7:15   ` Srinivas Ramana
2021-01-14  8:20     ` Marc Zyngier
2021-01-14  8:20       ` Marc Zyngier
2021-01-14 18:37       ` Catalin Marinas [this message]
2021-01-14 18:37         ` Catalin Marinas

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=20210114183737.GG16561@gaia \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=pajay@qti.qualcomm.com \
    --cc=sramana@codeaurora.org \
    --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.