]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop arm64-set-__nocfi-on-swsusp_arch_resume.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Jan 2026 14:09:07 +0000 (15:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Jan 2026 14:09:07 +0000 (15:09 +0100)
queue-5.10/arm64-set-__nocfi-on-swsusp_arch_resume.patch [deleted file]
queue-5.10/series

diff --git a/queue-5.10/arm64-set-__nocfi-on-swsusp_arch_resume.patch b/queue-5.10/arm64-set-__nocfi-on-swsusp_arch_resume.patch
deleted file mode 100644 (file)
index cf9bc3e..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-From e2f8216ca2d8e61a23cb6ec355616339667e0ba6 Mon Sep 17 00:00:00 2001
-From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
-Date: Thu, 22 Jan 2026 19:49:25 +0800
-Subject: arm64: Set __nocfi on swsusp_arch_resume()
-
-From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
-
-commit e2f8216ca2d8e61a23cb6ec355616339667e0ba6 upstream.
-
-A DABT is reported[1] on an android based system when resume from hiberate.
-This happens because swsusp_arch_suspend_exit() is marked with SYM_CODE_*()
-and does not have a CFI hash, but swsusp_arch_resume() will attempt to
-verify the CFI hash when calling a copy of swsusp_arch_suspend_exit().
-
-Given that there's an existing requirement that the entrypoint to
-swsusp_arch_suspend_exit() is the first byte of the .hibernate_exit.text
-section, we cannot fix this by marking swsusp_arch_suspend_exit() with
-SYM_FUNC_*(). The simplest fix for now is to disable the CFI check in
-swsusp_arch_resume().
-
-Mark swsusp_arch_resume() as __nocfi to disable the CFI check.
-
-[1]
-[   22.991934][    T1] Unable to handle kernel paging request at virtual address 0000000109170ffc
-[   22.991934][    T1] Mem abort info:
-[   22.991934][    T1]   ESR = 0x0000000096000007
-[   22.991934][    T1]   EC = 0x25: DABT (current EL), IL = 32 bits
-[   22.991934][    T1]   SET = 0, FnV = 0
-[   22.991934][    T1]   EA = 0, S1PTW = 0
-[   22.991934][    T1]   FSC = 0x07: level 3 translation fault
-[   22.991934][    T1] Data abort info:
-[   22.991934][    T1]   ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000
-[   22.991934][    T1]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
-[   22.991934][    T1]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
-[   22.991934][    T1] [0000000109170ffc] user address but active_mm is swapper
-[   22.991934][    T1] Internal error: Oops: 0000000096000007 [#1] PREEMPT SMP
-[   22.991934][    T1] Dumping ftrace buffer:
-[   22.991934][    T1]    (ftrace buffer empty)
-[   22.991934][    T1] Modules linked in:
-[   22.991934][    T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.98-android15-8-g0b1d2aee7fc3-dirty-4k #1 688c7060a825a3ac418fe53881730b355915a419
-[   22.991934][    T1] Hardware name: Unisoc UMS9360-base Board (DT)
-[   22.991934][    T1] pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
-[   22.991934][    T1] pc : swsusp_arch_resume+0x2ac/0x344
-[   22.991934][    T1] lr : swsusp_arch_resume+0x294/0x344
-[   22.991934][    T1] sp : ffffffc08006b960
-[   22.991934][    T1] x29: ffffffc08006b9c0 x28: 0000000000000000 x27: 0000000000000000
-[   22.991934][    T1] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000820
-[   22.991934][    T1] x23: ffffffd0817e3000 x22: ffffffd0817e3000 x21: 0000000000000000
-[   22.991934][    T1] x20: ffffff8089171000 x19: ffffffd08252c8c8 x18: ffffffc080061058
-[   22.991934][    T1] x17: 00000000529c6ef0 x16: 00000000529c6ef0 x15: 0000000000000004
-[   22.991934][    T1] x14: ffffff8178c88000 x13: 0000000000000006 x12: 0000000000000000
-[   22.991934][    T1] x11: 0000000000000015 x10: 0000000000000001 x9 : ffffffd082533000
-[   22.991934][    T1] x8 : 0000000109171000 x7 : 205b5d3433393139 x6 : 392e32322020205b
-[   22.991934][    T1] x5 : 000000010916f000 x4 : 000000008164b000 x3 : ffffff808a4e0530
-[   22.991934][    T1] x2 : ffffffd08058e784 x1 : 0000000082326000 x0 : 000000010a283000
-[   22.991934][    T1] Call trace:
-[   22.991934][    T1]  swsusp_arch_resume+0x2ac/0x344
-[   22.991934][    T1]  hibernation_restore+0x158/0x18c
-[   22.991934][    T1]  load_image_and_restore+0xb0/0xec
-[   22.991934][    T1]  software_resume+0xf4/0x19c
-[   22.991934][    T1]  software_resume_initcall+0x34/0x78
-[   22.991934][    T1]  do_one_initcall+0xe8/0x370
-[   22.991934][    T1]  do_initcall_level+0xc8/0x19c
-[   22.991934][    T1]  do_initcalls+0x70/0xc0
-[   22.991934][    T1]  do_basic_setup+0x1c/0x28
-[   22.991934][    T1]  kernel_init_freeable+0xe0/0x148
-[   22.991934][    T1]  kernel_init+0x20/0x1a8
-[   22.991934][    T1]  ret_from_fork+0x10/0x20
-[   22.991934][    T1] Code: a9400a61 f94013e0 f9438923 f9400a64 (b85fc110)
-
-Co-developed-by: Jeson Gao <jeson.gao@unisoc.com>
-Signed-off-by: Jeson Gao <jeson.gao@unisoc.com>
-Signed-off-by: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
-Acked-by: Will Deacon <will@kernel.org>
-Acked-by: Mark Rutland <mark.rutland@arm.com>
-Cc: <stable@vger.kernel.org>
-[catalin.marinas@arm.com: commit log updated by Mark Rutland]
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kernel/hibernate.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/kernel/hibernate.c
-+++ b/arch/arm64/kernel/hibernate.c
-@@ -639,7 +639,7 @@ static int trans_pgd_create_copy(pgd_t *
-  * Memory allocated by get_safe_page() will be dealt with by the hibernate code,
-  * we don't need to free it here.
-  */
--int swsusp_arch_resume(void)
-+int __nocfi swsusp_arch_resume(void)
- {
-       int rc;
-       void *zero_page;
index c280ef7959997928101f8fc31f7d79a5fb4f820a..f2fe6ed44bbffec018e5b8f099e8f288264fdca4 100644 (file)
@@ -98,7 +98,6 @@ mmc-rtsx_pci_sdmmc-implement-sdmmc_card_busy-function.patch
 wifi-ath10k-fix-dma_free_coherent-pointer.patch
 wifi-mwifiex-fix-a-loop-in-mwifiex_update_ampdu_rxwinsize.patch
 wifi-rsi-fix-memory-corruption-due-to-not-set-vif-driver-data-size.patch
-arm64-set-__nocfi-on-swsusp_arch_resume.patch
 octeontx2-fix-otx2_dma_map_page-error-return-code.patch
 slimbus-core-fix-runtime-pm-imbalance-on-report-present.patch
 slimbus-core-fix-device-reference-leak-on-report-present.patch