lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aWk7Pyai4AcoQc_J@arm.com>
Date: Thu, 15 Jan 2026 19:08:47 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: Ben Horgan <ben.horgan@....com>
Cc: amitsinght@...vell.com, baisheng.gao@...soc.com,
	baolin.wang@...ux.alibaba.com, carl@...amperecomputing.com,
	dave.martin@....com, david@...nel.org, dfustini@...libre.com,
	fenghuay@...dia.com, gshan@...hat.com, james.morse@....com,
	jonathan.cameron@...wei.com, kobak@...dia.com, lcherian@...vell.com,
	linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
	peternewman@...gle.com, punit.agrawal@....qualcomm.com,
	quic_jiles@...cinc.com, reinette.chatre@...el.com,
	rohit.mathew@....com, scott@...amperecomputing.com,
	sdonthineni@...dia.com, tan.shaopeng@...itsu.com,
	xhao@...ux.alibaba.com, will@...nel.org, corbet@....net,
	maz@...nel.org, oupton@...nel.org, joey.gouly@....com,
	suzuki.poulose@....com, kvmarm@...ts.linux.dev
Subject: Re: [PATCH v3 10/47] arm64: mpam: Initialise and context switch the
 MPAMSM_EL1 register

On Mon, Jan 12, 2026 at 04:58:37PM +0000, Ben Horgan wrote:
> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
> index 0cdfb3728f43..2ede543b3eeb 100644
> --- a/arch/arm64/kernel/cpufeature.c
> +++ b/arch/arm64/kernel/cpufeature.c
> @@ -2491,6 +2491,8 @@ cpu_enable_mpam(const struct arm64_cpu_capabilities *entry)
>  		regval = READ_ONCE(per_cpu(arm64_mpam_current, cpu));
>  
>  	write_sysreg_s(regval, SYS_MPAM1_EL1);
> +	if (system_supports_sme())
> +		write_sysreg_s(regval & (MPAMSM_EL1_PARTID_D | MPAMSM_EL1_PMG_D), SYS_MPAMSM_EL1);
>  	isb();

Do we know for sure that system_supports_sme() returns true at this
point (if SME supported)? Digging into the code, system_supports_sme()
uses alternative_has_cap_unlikely() which relies on instruction
patching. setup_system_capabilities(), IIUC, patches the alternatives
after enable_cpu_capabilities(). I think you better use cpus_have_cap().

-- 
Catalin

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ