]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: cpufeature: add pointer auth meta-capabilities
authorKristina Martsenko <kristina.martsenko@arm.com>
Fri, 13 Mar 2020 09:04:49 +0000 (14:34 +0530)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 18 Mar 2020 09:50:18 +0000 (09:50 +0000)
commit7e054b09ea2f1d3c6ee85f09fedd7b32663f9216
tree68fa6830e93e28f541fceca05809a79cc215afa2
parentcc745ed6cd6f2df6b3c21e8635673355713b8b28
arm64: cpufeature: add pointer auth meta-capabilities

To enable pointer auth for the kernel, we're going to need to check for
the presence of address auth and generic auth using alternative_if. We
currently have two cpucaps for each, but alternative_if needs to check a
single cpucap. So define meta-capabilities that are present when either
of the current two capabilities is present.

Leave the existing four cpucaps in place, as they are still needed to
check for mismatched systems where one CPU has the architected algorithm
but another has the IMP DEF algorithm.

Note, the meta-capabilities were present before but were removed in
commit 0f12fa869a2b ("arm64: cpufeature: Reduce number of pointer auth
CPU caps from 6 to 4") and commit 94a596b905cb ("arm64: cpufeature: Rework
ptr auth hwcaps using multi_entry_cap_matches"), as they were not needed
then. Note, unlike before, the current patch checks the cpucap values
directly, instead of reading the CPU ID register value.

Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Vincenzo Frascino <Vincenzo.Frascino@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
[Amit: commit message and macro rebase, use __system_matches_cap]
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/cpucaps.h
arch/arm64/include/asm/cpufeature.h
arch/arm64/kernel/cpufeature.c