History

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

Linus Torvalds committed 4 years ago

Commit 087aa692 parents 6429883 3fe3fd53 files · +5 −2Browse files

Unified · Split

3 files
  1. arch/arm64/Kconfig +2 −0
  2. arch/arm64/kernel/ptrace.c +0 −2
  3. arch/arm64/kernel/sleep.S +3 −0
arch/arm64/Kconfig+2−0
@@ -1887,6 +1887,8 @@ config ARM64_BTI_KERNEL · 1886 unmodified lines
1887 depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI1887 depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI
1888 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=946971888 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
1889 depends on !CC_IS_GCC || GCC_VERSION >= 1001001889 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
1890 # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc91892 # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
1891 depends on !CC_IS_CLANG || CLANG_VERSION >= 1200001893 depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
1892 depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS)1894 depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS)
arch/arm64/kernel/ptrace.c+0−2
@@ -1084,7 +1084,6 @@ static int za_set(struct task_struct *target, · 1083 unmodified lines
1084 if (!target->thread.sve_state) {1084 if (!target->thread.sve_state) {
1085 sve_alloc(target, false);1085 sve_alloc(target, false);
1086 if (!target->thread.sve_state) {1086 if (!target->thread.sve_state) {
1087 clear_thread_flag(TIF_SME);
1088 ret = -ENOMEM;1087 ret = -ENOMEM;
1089 goto out;1088 goto out;
1090 }1089 }
@@ -1094,7 +1093,6 @@ static int za_set(struct task_struct *target, · 3 unmodified lines
1094 sme_alloc(target);1093 sme_alloc(target);
1095 if (!target->thread.za_state) {1094 if (!target->thread.za_state) {
1096 ret = -ENOMEM;1095 ret = -ENOMEM;
1097 clear_tsk_thread_flag(target, TIF_SME);
1098 goto out;1096 goto out;
1099 }1097 }
1100 1098
arch/arm64/kernel/sleep.S+3−0
@@ -101,6 +101,9 @@ SYM_FUNC_END(__cpu_suspend_enter) · 100 unmodified lines
101SYM_CODE_START(cpu_resume)101SYM_CODE_START(cpu_resume)
102 bl init_kernel_el102 bl init_kernel_el
103 bl finalise_el2103 bl finalise_el2
104#if VA_BITS > 48
105 ldr_l x0, vabits_actual
106#endif
104 bl __cpu_setup107 bl __cpu_setup
105 /* enable the MMU early - so we can access sleep_save_stash by va */108 /* enable the MMU early - so we can access sleep_save_stash by va */
106 adrp x1, swapper_pg_dir109 adrp x1, swapper_pg_dir

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t