Hi Viresh,
On 14/06/2019 04:07, Viresh Kumar wrote:
Hello,
Here is an attempt to backport arm64 spectre patches to v4.4 stable tree.
I have started this backport with Mark Rutland's backport of Spectre to 4.9 [1] and tried applying the upstream version of them over 4.4 and resolved conflicts by checking how they have been resolved in 4.9.
I had to pick few extra upstream patches to avoid unnecessary conflicts (upstream commit ids mentioned):
a842789837c0 arm64: remove duplicate macro __KERNEL__ check 64f8ebaf115b mm/kasan: add API to check memory regions bffe1baff5d5 arm64: kasan: instrument user memory access API 92406f0cc9e3 arm64: cpufeature: Add scope for capability check 9eb8a2cdf65c arm64: cputype info for Broadcom Vulcan 0d90718871fe arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs 98dd64f34f47 ARM: 8478/2: arm/arm64: add arm-smccc
I had to drop few patches as well as they weren't getting applied properly due to missing files/features (upstream commit id mentioned):
93f339ef4175 arm64: cpufeature: __this_cpu_has_cap() shouldn't stop early 3c31fa5a06b4 arm64: Run enable method for errata work arounds on late CPUs 6840bdd73d07 arm64: KVM: Use per-CPU vector when BP hardening is enabled 90348689d500 arm64: KVM: Make PSCI_VERSION a fast path
Since v4.4 doesn't contain arch/arm/kvm/hyp/switch.c file, changes for it are dropped from some of the patches. The commit log of specific patches are updated with this information.
Also for commit id (from 4.9 stable): c24c205d2528 arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support
I have dropped arch/arm64/crypto/sha256-core.S and sha512-core.S files as they weren't part of the upstream commit. Not sure why it was included by Mark as the commit log doesn't provide any reasoning for it.
The patches in this series are pushed here [2].
This is only build/boot tested by me as I don't have access to the required test-suite which can verify spectre mitigations.
@Julien: Can you please help reviewing / testing them ? Thanks.
Since there were seems to be a lot of changes between the current branch and the patch series you posted, it would probably be good to post a new version on the mailing list once you believe you have them in a good shape.
Testing the branch is fine, but reviewing is definitely something that should happen on patches posted on the mailing list.
Thanks,