Hi Linus, A couple of late fixes here, but one that we've been sitting on for a few weeks while the details were worked out. Specifically, we now enforce USER_DS on taking exceptions whilst in the kernel, which avoids leaking kernel data to userspace through things like perf. The other patch is an update to a workaround for a hardware erratum on some Cavium SoCs. Please pull, Will --->8 The following changes since commit 4c2e07c6a29e0129e975727b9f57eede813eea85: Linux 4.7-rc5 (2016-06-26 17:52:03 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 47c459beabe969c6751e2ea8d1f85c5fa1652d6c: arm64: Enable workaround for Cavium erratum 27456 on thunderx-81xx (2016-07-07 18:35:21 +0100) ---------------------------------------------------------------- arm64 fixes: - Enforce USER_DS on exception entry from EL1 - Apply workaround for Cavium errata #27456 on Thunderx-81xx parts ---------------------------------------------------------------- Ganapatrao Kulkarni (1): arm64: Enable workaround for Cavium erratum 27456 on thunderx-81xx James Morse (1): arm64: kernel: Save and restore UAO and addr_limit on exception entry arch/arm64/include/asm/cputype.h | 2 ++ arch/arm64/include/asm/ptrace.h | 2 ++ arch/arm64/kernel/asm-offsets.c | 1 + arch/arm64/kernel/cpu_errata.c | 6 ++++++ arch/arm64/kernel/entry.S | 19 +++++++++++++++++-- arch/arm64/mm/fault.c | 3 ++- 6 files changed, 30 insertions(+), 3 deletions(-)
Hi Linus, Here are a few arm64 fixes for -rc7. The two main fixes are for the asm constraints in our LSE atomics and for our pmd/pud setters when changing permissions for kernel mappings. Summary in the tag. Please pull, Will --->8 The following changes since commit 771c577c23bac90597c685971d7297ea00f99d11: Linux 4.17-rc6 (2018-05-20 15:31:38 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 82034c23fcbc2389c73d97737f61fa2dd6526413: arm64: Make sure permission updates happen for pmd/pud (2018-05-24 11:19:31 +0100) ---------------------------------------------------------------- More arm64 fixes: - Fix application of read-only permissions to kernel section mappings - Sanitise reported ESR values for signals delivered on a kernel address - Ensure tishift GCC helpers are exported to modules - Fix inline asm constraints for some LSE atomics ---------------------------------------------------------------- Jason A. Donenfeld (1): arm64: export tishift functions to modules Laura Abbott (1): arm64: Make sure permission updates happen for pmd/pud Peter Maydell (1): arm64: fault: Don't leak data in ESR context for user fault on kernel VA Will Deacon (1): arm64: lse: Add early clobbers to some input/output asm operands arch/arm64/include/asm/atomic_lse.h | 24 ++++++++--------- arch/arm64/kernel/arm64ksyms.c | 8 ++++++ arch/arm64/lib/tishift.S | 15 ++--------- arch/arm64/mm/fault.c | 51 +++++++++++++++++++++++++++++++++++++ arch/arm64/mm/mmu.c | 16 +++++++----- 5 files changed, 83 insertions(+), 31 deletions(-)
Hi Linus, Inevitably, after saying that I hoped we would be done on the fixes front, a couple of issues have cropped up over the last week. Next time I'll stay schtum. As usual, details are in the tag, but we've fixed an over-eager BUILD_BUG_ON() which Arnd ran into with arndconfig, as well as ensuring that KPTI really is disabled on Thunder-X1, where the cure is worse than the disease (this regressed when we reworked the heterogeneous CPU feature checking). Please pull. Thanks, Will --->8 The following changes since commit d72e90f33aa4709ebecc5005562f52335e106a60: Linux 4.18-rc6 (2018-07-22 14:12:20 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 7b0eb6b41a08fa1fa0d04b1c53becd62b5fbfaee: arm64: fix vmemmap BUILD_BUG_ON() triggering on !vmemmap setups (2018-07-25 13:32:30 +0100) ---------------------------------------------------------------- More arm64 fixes: - Fix disabling of kpti on Thunder-X machines - Fix premature BUILD_BUG_ON() found with randconfig ---------------------------------------------------------------- Dirk Mueller (1): arm64: Check for errata before evaluating cpu features Johannes Weiner (1): arm64: fix vmemmap BUILD_BUG_ON() triggering on !vmemmap setups arch/arm64/kernel/cpufeature.c | 4 ++-- arch/arm64/mm/init.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-)
Hi Linus, Hot on the heels of our last set of fixes are a few more for -rc7. Two of them are fixing issues with our virtual interrupt controller implementation in KVM/arm, while the other is a longstanding but straightforward kallsyms fix which was been acked by Masami and resolves an initialisation failure in kprobes observed on arm64. Please pull, thanks. Will --->8 The following changes since commit b6143d10d23ebb4a77af311e8b8b7f019d0163e6: arm64: ftrace: Ensure module ftrace trampoline is coherent with I-side (2019-08-16 17:40:03 +0100) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 82e40f558de566fdee214bec68096bbd5e64a6a4: KVM: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S,C}PENDR0 as WI (2019-08-28 11:21:42 +0100) ---------------------------------------------------------------- arm64 fixes for -rc7 - Fix GICv2 emulation bug (KVM) - Fix deadlock in virtual GIC interrupt injection code (KVM) - Fix kprobes blacklist init failure due to broken kallsyms lookup ---------------------------------------------------------------- Heyi Guo (1): KVM: arm/arm64: vgic: Fix potential deadlock when ap_list is long Marc Zyngier (2): kallsyms: Don't let kallsyms_lookup_size_offset() fail on retrieving the first symbol KVM: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S,C}PENDR0 as WI kernel/kallsyms.c | 6 ++++-- virt/kvm/arm/vgic/vgic-mmio.c | 18 ++++++++++++++++++ virt/kvm/arm/vgic/vgic-v2.c | 5 ++++- virt/kvm/arm/vgic/vgic-v3.c | 5 ++++- virt/kvm/arm/vgic/vgic.c | 7 +++++++ 5 files changed, 37 insertions(+), 4 deletions(-)
The pull request you sent on Wed, 28 Aug 2019 18:32:33 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9cf6b756cdf2cd38b8b0dac2567f7c6daf5e79d5 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Hi Linus, Please pull these four arm64 fixes for -rc7. Summary in the tag. Cheers, Will --->8 The following changes since commit 9abd515a6e4a5c58c6eb4d04110430325eb5f5ac: arm64: context: Fix ASID limit in boot messages (2020-03-02 12:10:38 +0000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 3568b88944fef28db3ee989b957da49ffc627ede: arm64: compat: Fix syscall number of compat_clock_getres (2020-03-19 19:23:46 +0000) ---------------------------------------------------------------- arm64 fixes for -rc7 - Fix panic() when it occurs during secondary CPU startup - Fix "kpti=off" when KASLR is enabled - Fix howler in compat syscall table for vDSO clock_getres() fallback ---------------------------------------------------------------- Cristian Marussi (2): arm64: smp: fix smp_send_stop() behaviour arm64: smp: fix crash_smp_send_stop() behaviour Vincenzo Frascino (1): arm64: compat: Fix syscall number of compat_clock_getres Will Deacon (1): arm64: kpti: Fix "kpti=off" when KASLR is enabled arch/arm64/include/asm/mmu.h | 4 +--- arch/arm64/include/asm/pgtable-prot.h | 6 ++++-- arch/arm64/include/asm/unistd.h | 2 +- arch/arm64/kernel/smp.c | 25 ++++++++++++++++++++----- 4 files changed, 26 insertions(+), 11 deletions(-)
The pull request you sent on Fri, 20 Mar 2020 15:35:09 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/5ad0ec0b86525d0c5d3d250d3cfad7f183b00cfa Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Hi Linus, I'm sad to say that we've got an unusually large arm64 fixes pull for -rc7 which addresses numerous significant instrumentation issues with our entry code. Without these patches, lockdep is hopelessly unreliable in some configurations [1,2] and syzkaller is therefore not a lot of use because it's so noisy. Although much of this has always been broken, it appears to have been exposed more readily by other changes such as 044d0d6de9f5 ("lockdep: Only trace IRQ edges") and general lockdep improvements around IRQ tracing and NMIs. Fixing this properly required moving much of the instrumentation hooks from our entry assembly into C, which Mark has been working on for the last few weeks. We're not quite ready to move to the recently added generic functions yet, but the code here has been deliberately written to mimic that closely so we can look at cleaning things up once we have a bit more breathing room. Having said all that, the second version of these patches was posted last week and I pushed it into our CI (kernelci and cki) along with a commit which forced on PROVE_LOCKING, NOHZ_FULL and CONTEXT_TRACKING_FORCE. The result? We found a real bug in the md/raid10 code [3]. Oh, and there's also a really silly typo patch that's unrelated. In other words, none of this warrants an -rc8 if you end up considering it. Please pull. Cheers, Will [1] https://lore.kernel.org/r/CACT4Y+aAzoJ48Mh1wNYD17pJqyEcDnrxGfApir=-j171TnQXhw@mail.gmail.com [2] https://lore.kernel.org/r/20201119193819.GA2601289@elver.google.com [3] https://lore.kernel.org/r/94c76d5e-466a-bc5f-e6c2-a11b65c39f83@redhat.com --->8 The following changes since commit ff1712f953e27f0b0718762ec17d0adb15c9fd0b: arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() (2020-11-23 16:13:18 +0000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 9e5344e0ffc33f4fee899f98b6939a0682b1d9c3: arm64: mte: Fix typo in macro definition (2020-11-30 17:36:52 +0000) ---------------------------------------------------------------- arm64 fixes for -rc7 - Fix numerous issues with instrumentation and exception entry - Fix hideous typo in unused register field definition ---------------------------------------------------------------- Mark Rutland (11): arm64: syscall: exit userspace before unmasking exceptions arm64: mark idle code as noinstr arm64: entry: mark entry code as noinstr arm64: entry: move enter_from_user_mode to entry-common.c arm64: entry: prepare ret_to_user for function call arm64: entry: move el1 irq/nmi logic to C arm64: entry: fix non-NMI user<->kernel transitions arm64: ptrace: prepare for EL1 irq/rcu tracking arm64: entry: fix non-NMI kernel<->kernel transitions arm64: entry: fix NMI {user, kernel}->kernel transitions arm64: entry: fix EL1 debug transitions Vincenzo Frascino (1): arm64: mte: Fix typo in macro definition arch/arm64/include/asm/daifflags.h | 3 + arch/arm64/include/asm/exception.h | 5 + arch/arm64/include/asm/ptrace.h | 4 + arch/arm64/include/asm/sysreg.h | 2 +- arch/arm64/kernel/entry-common.c | 254 +++++++++++++++++++++++++++---------- arch/arm64/kernel/entry.S | 78 ++++-------- arch/arm64/kernel/irq.c | 15 --- arch/arm64/kernel/process.c | 8 +- arch/arm64/kernel/sdei.c | 7 +- arch/arm64/kernel/syscall.c | 1 - arch/arm64/kernel/traps.c | 22 ++-- arch/arm64/mm/fault.c | 25 ---- 12 files changed, 243 insertions(+), 181 deletions(-)
The pull request you sent on Wed, 2 Dec 2020 17:17:51 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/3bb61aa61828499a7d0f5e560051625fd02ae7e4 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
Hi Linus, Please pull these two straightforward fixes for -rc7. Summary in the tag. Cheers, Will --->8 The following changes since commit 0c32706dac1b0a72713184246952ab0f54327c21: arm64: stacktrace: avoid tracing arch_stack_walk() (2021-08-03 10:39:35 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to bde8fff82e4a4b0f000dbf4d5eadab2079be0b56: arm64: initialize all of CNTHCTL_EL2 (2021-08-19 10:02:10 +0100) ---------------------------------------------------------------- arm64 fixes for -rc7 - Fix cleaning of vDSO directories - Ensure CNTHCTL_EL2 is fully initialised when booting at EL2 ---------------------------------------------------------------- Andrew Delgadillo (1): arm64: clean vdso & vdso32 files Mark Rutland (1): arm64: initialize all of CNTHCTL_EL2 arch/arm64/Makefile | 2 ++ arch/arm64/include/asm/el2_setup.h | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-)
The pull request you sent on Fri, 20 Aug 2021 09:53:03 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/54e9ea3cdb13884b8d3a0c13b9b92bab4a1c96f5 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
Hi Linus, Please pull these three arm64 fixes for -rc7. The summary is in the tag but it's all pretty straightforward. Thanks, Will --->8 The following changes since commit c35fe2a68f29a0bda15ae994154cacaae5f69791: elf: Fix the arm64 MTE ELF segment name and value (2022-04-28 11:37:06 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 51f559d66527e238f9a5f82027bff499784d4eac: arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs (2022-05-12 13:15:38 +0100) ---------------------------------------------------------------- arm64 fixes for -rc7 - TLB invalidation workaround for Qualcomm Kryo-4xx "gold" CPUs - Fix broken dependency in the vDSO Makefile - Fix pointer authentication overrides in ISAR2 ID register ---------------------------------------------------------------- Joey Gouly (1): arm64: vdso: fix makefile dependency on vdso.so Kristina Martsenko (1): arm64: cpufeature: remove duplicate ID_AA64ISAR2_EL1 entry Shreyas K K (1): arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs Documentation/arm64/silicon-errata.rst | 3 +++ arch/arm64/kernel/Makefile | 4 ++++ arch/arm64/kernel/cpu_errata.c | 2 ++ arch/arm64/kernel/cpufeature.c | 3 +-- arch/arm64/kernel/vdso/Makefile | 3 --- arch/arm64/kernel/vdso32/Makefile | 3 --- 6 files changed, 10 insertions(+), 8 deletions(-)
The pull request you sent on Fri, 13 May 2022 17:52:35 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/91bdba8536b87b25adbbf79ab9dc661840bccc4a Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
Hi Linus, Please pull these arm64 fixes for -rc7. They're all very simple and self-contained, although the CFI jump-table fix touches the generic linker script as that's where the problematic macro lives. Summary in the tag. Cheers, Will --->8 The following changes since commit 3fe3fd5f30720b4afd3345cc186808125e7f5848: arm64: mm: fix resume for 52-bit enabled builds (2022-09-10 14:46:28 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 13b0566962914e167cb3238fbe29ced618f07a27: vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment (2022-09-23 13:39:01 +0100) ---------------------------------------------------------------- arm64 fixes for -rc7 - Fix false positive "sleeping while atomic" warning resulting from the kPTI rework taking a mutex too early. - Fix possible overflow in AMU frequency calculation - Fix incorrect shift in CMN PMU driver which causes problems with newer versions of the IP - Reduce alignment of the CFI jump table to avoid huge kernel images and link errors with !4KiB page size configurations ---------------------------------------------------------------- Ilkka Koskinen (1): perf/arm-cmn: Add more bits to child node address offset field Mark Rutland (1): arm64: mm: don't acquire mutex when rewriting swapper Sergey Shtylyov (1): arm64: topology: fix possible overflow in amu_fie_setup() Will Deacon (1): vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment arch/arm64/kernel/topology.c | 2 +- arch/arm64/mm/mmu.c | 32 ++++++++++++++++++-------------- drivers/perf/arm-cmn.c | 2 +- include/asm-generic/vmlinux.lds.h | 3 +-- 4 files changed, 21 insertions(+), 18 deletions(-)
On Fri, Sep 23, 2022 at 11:28 AM Will Deacon <will@kernel.org> wrote:
>
> Please pull these arm64 fixes for -rc7. They're all very simple and
> self-contained, although the CFI jump-table fix touches the generic
> linker script as that's where the problematic macro lives.
The commit message is a bit confusing. It talks about "hysterical
raisins on x86", but CONFIG_CFI_CLANG has always been arm64-only. No?
So I'm not seeing what the x86 comment is about?
Anyway, pulled. That alignment was obviously horrendous.
Linus
The pull request you sent on Fri, 23 Sep 2022 19:28:00 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/a63f2e7cb1107ab124f80407e5eb8579c04eb7a9 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
On Fri, Sep 23, 2022 at 03:43:05PM -0700, Linus Torvalds wrote: > On Fri, Sep 23, 2022 at 11:28 AM Will Deacon <will@kernel.org> wrote: > > > > Please pull these arm64 fixes for -rc7. They're all very simple and > > self-contained, although the CFI jump-table fix touches the generic > > linker script as that's where the problematic macro lives. > > The commit message is a bit confusing. It talks about "hysterical > raisins on x86", but CONFIG_CFI_CLANG has always been arm64-only. No? > > So I'm not seeing what the x86 comment is about? It was a an accidental inclusion inthe ARM64 CFI series while x86 CFI support was being developed; in the thread in the LINK tage, Sami says: | This was a leftover from an old x86 series, which was included here by | mistake. Will also asked me about this a couple of weeks ago, I think, and | said he'd send a patch to remove it. The relevant message being: https://lore.kernel.org/all/CABCJKufrRCb84fafhsR8_fftBLv0_pvufL_ZZieUSTJfhdT+fw@mail.gmail.com/ Thanks, Mark.