Skip to content

Commit 087aa69

Browse files
committed
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon: "Three small arm64 fixes, all related to optional architecture extensions: BTI, SME and 52-bit virtual addressing: - Disable in-kernel BTI when compiling with GCC, as it makes invalid assumptions about the distance between functions which has led to crashes when calling modules on a CPU with BTI support - Remove bogus TIF_SME flag management if memory allocation fails in the ptrace code - Fix the resume path when configured for 52-bit virtual addressing" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: mm: fix resume for 52-bit enabled builds arm64/ptrace: Don't clear calling process' TIF_SME on OOM arm64/bti: Disable in kernel BTI when cross section thunks are broken
2 parents 6429883 + 3fe3fd5 commit 087aa69

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

arch/arm64/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1887,6 +1887,8 @@ config ARM64_BTI_KERNEL
18871887
depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI
18881888
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
18891889
depends on !CC_IS_GCC || GCC_VERSION >= 100100
1890+
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
1891+
depends on !CC_IS_GCC
18901892
# https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
18911893
depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
18921894
depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS)

arch/arm64/kernel/ptrace.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,7 +1084,6 @@ static int za_set(struct task_struct *target,
10841084
if (!target->thread.sve_state) {
10851085
sve_alloc(target, false);
10861086
if (!target->thread.sve_state) {
1087-
clear_thread_flag(TIF_SME);
10881087
ret = -ENOMEM;
10891088
goto out;
10901089
}
@@ -1094,7 +1093,6 @@ static int za_set(struct task_struct *target,
10941093
sme_alloc(target);
10951094
if (!target->thread.za_state) {
10961095
ret = -ENOMEM;
1097-
clear_tsk_thread_flag(target, TIF_SME);
10981096
goto out;
10991097
}
11001098

arch/arm64/kernel/sleep.S

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ SYM_FUNC_END(__cpu_suspend_enter)
101101
SYM_CODE_START(cpu_resume)
102102
bl init_kernel_el
103103
bl finalise_el2
104+
#if VA_BITS > 48
105+
ldr_l x0, vabits_actual
106+
#endif
104107
bl __cpu_setup
105108
/* enable the MMU early - so we can access sleep_save_stash by va */
106109
adrp x1, swapper_pg_dir

0 commit comments

Comments
 (0)