mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	arm64 fixes for -rc5
- 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmMcmCUQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNJEPB/9hhMNrX0yAc64otI99DRBuuZjlGWm5tLVj
 A5dByt0bvca6XIE/5nZpduYcSGBORL4Ss29mbYteWlaU89TlLEHaedOpDTX0xj5g
 61H8UiK0YDX9w/7hbPZw7Uxdvw30LJSxszWZ4Ucst9CYTq+mMbbhgf8h7/BDmBD+
 OBpkOlouW4fSw15/UlbgBu6UTAVkbWNcWxzwzOVAdqFYzQ75eMnmOEkEZ8b/YBAA
 wZ+0kFmpjGkWymZKlgTxLfQ3eVdKwlrFzBliDtbFoFNuWyyDQ2e1qDQKFZvST4ul
 NMVlF19K9NKGVlxl2++rafbg5BQ+Y+0RJ2Hujf72W6sPaThJUDM2
 =7sa1
 -----END PGP SIGNATURE-----
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
			
			
This commit is contained in:
		
						commit
						087aa69a9f
					
				
					 3 changed files with 5 additions and 2 deletions
				
			
		|  | @ -1887,6 +1887,8 @@ config ARM64_BTI_KERNEL | |||
| 	depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI | ||||
| 	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697 | ||||
| 	depends on !CC_IS_GCC || GCC_VERSION >= 100100 | ||||
| 	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671 | ||||
| 	depends on !CC_IS_GCC | ||||
| 	# https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9 | ||||
| 	depends on !CC_IS_CLANG || CLANG_VERSION >= 120000 | ||||
| 	depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS) | ||||
|  |  | |||
|  | @ -1084,7 +1084,6 @@ static int za_set(struct task_struct *target, | |||
| 	if (!target->thread.sve_state) { | ||||
| 		sve_alloc(target, false); | ||||
| 		if (!target->thread.sve_state) { | ||||
| 			clear_thread_flag(TIF_SME); | ||||
| 			ret = -ENOMEM; | ||||
| 			goto out; | ||||
| 		} | ||||
|  | @ -1094,7 +1093,6 @@ static int za_set(struct task_struct *target, | |||
| 	sme_alloc(target); | ||||
| 	if (!target->thread.za_state) { | ||||
| 		ret = -ENOMEM; | ||||
| 		clear_tsk_thread_flag(target, TIF_SME); | ||||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -101,6 +101,9 @@ SYM_FUNC_END(__cpu_suspend_enter) | |||
| SYM_CODE_START(cpu_resume) | ||||
| 	bl	init_kernel_el | ||||
| 	bl	finalise_el2 | ||||
| #if VA_BITS > 48 | ||||
| 	ldr_l	x0, vabits_actual | ||||
| #endif | ||||
| 	bl	__cpu_setup | ||||
| 	/* enable the MMU early - so we can access sleep_save_stash by va */ | ||||
| 	adrp	x1, swapper_pg_dir | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Linus Torvalds
						Linus Torvalds