]> git.hungrycats.org Git - linux/commit
arm64: fix erroneous __raw_read_system_reg() cases
authorMark Rutland <mark.rutland@arm.com>
Thu, 2 Feb 2017 17:32:14 +0000 (17:32 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Mar 2017 05:44:15 +0000 (06:44 +0100)
commit68b83bee9b90d405691afa2427a09ee58e0582eb
tree87d0fe26527fb5fb81cd50e6d6895c4a5ea0ec0c
parentc5d1e9cc2879daf30ce6efe740cafad1304b017a
arm64: fix erroneous __raw_read_system_reg() cases

commit 7d0928f18bf890d2853281f59aba0dd5a46b34f9 upstream.

Since it was introduced in commit da8d02d19ffdd201 ("arm64/capabilities:
Make use of system wide safe value"), __raw_read_system_reg() has
erroneously mapped some sysreg IDs to other registers.

For the fields in ID_ISAR5_EL1, our local feature detection will be
erroneous. We may spuriously detect that a feature is uniformly
supported, or may fail to detect when it actually is, meaning some
compat hwcaps may be erroneous (or not enforced upon hotplug).

This patch corrects the erroneous entries.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Fixes: da8d02d19ffdd201 ("arm64/capabilities: Make use of system wide safe value")
Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/kernel/cpufeature.c