{"id":"CVE-2026-23128","revision":"2731fe9f570b4c648485d5a9c3207de1","records":[{"revision":"2731fe9f570b4c648485d5a9c3207de1","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-23128","aliases":[],"title":"arm64: Set __nocfi on swsusp_arch_resume()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\narm64: Set __nocfi on swsusp_arch_resume()\n\nA DABT is reported[1] on an android based system when resume from hiberate.\nThis happens because swsusp_arch_suspend_exit() is marked with SYM_CODE_*()\nand does not have a CFI hash, but swsusp_arch_resume() will attempt to\nverify the CFI hash when calling a copy of swsusp_arch_suspend_exit().\n\nGiven that there's an existing requirement that the entrypoint to\nswsusp_arch_suspend_exit() is the first byte of the .hibernate_exit.text\nsection, we cannot fix this by marking swsusp_arch_suspend_exit() with\nSYM_FUNC_*(). The simplest fix for now is to disable the CFI check in\nswsusp_arch_resume().\n\nMark swsusp_arch_resume() as __nocfi to disable the CFI check.\n\n[1]\n[   22.991934][    T1] Unable to handle kernel paging request at virtual address 0000000109170ffc\n[   22.991934][    T1] Mem abort info:\n[   22.991934][    T1]   ESR = 0x0000000096000007\n[   22.991934][    T1]   EC = 0x25: DABT (current EL), IL = 32 bits\n[   22.991934][    T1]   SET = 0, FnV = 0\n[   22.991934][    T1]   EA = 0, S1PTW = 0\n[   22.991934][    T1]   FSC = 0x07: level 3 translation fault\n[   22.991934][    T1] Data abort info:\n[   22.991934][    T1]   ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000\n[   22.991934][    T1]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0\n[   22.991934][    T1]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\n[   22.991934][    T1] [0000000109170ffc] user address but active_mm is swapper\n[   22.991934][    T1] Internal error: Oops: 0000000096000007 [#1] PREEMPT SMP\n[   22.991934][    T1] Dumping ftrace buffer:\n[   22.991934][    T1]    (ftrace buffer empty)\n[   22.991934][    T1] Modules linked in:\n[   22.991934][    T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.98-android15-8-g0b1d2aee7fc3-dirty-4k #1 688c7060a825a3ac418fe53881730b355915a419\n[   22.991934][    T1] Hardware name: Unisoc UMS9360-base Board (DT)\n[   22.991934][    T1] pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)\n[   22.991934][    T1] pc : swsusp_arch_resume+0x2ac/0x344\n[   22.991934][    T1] lr : swsusp_arch_resume+0x294/0x344\n[   22.991934][    T1] sp : ffffffc08006b960\n[   22.991934][    T1] x29: ffffffc08006b9c0 x28: 0000000000000000 x27: 0000000000000000\n[   22.991934][    T1] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000820\n[   22.991934][    T1] x23: ffffffd0817e3000 x22: ffffffd0817e3000 x21: 0000000000000000\n[   22.991934][    T1] x20: ffffff8089171000 x19: ffffffd08252c8c8 x18: ffffffc080061058\n[   22.991934][    T1] x17: 00000000529c6ef0 x16: 00000000529c6ef0 x15: 0000000000000004\n[   22.991934][    T1] x14: ffffff8178c88000 x13: 0000000000000006 x12: 0000000000000000\n[   22.991934][    T1] x11: 0000000000000015 x10: 0000000000000001 x9 : ffffffd082533000\n[   22.991934][    T1] x8 : 0000000109171000 x7 : 205b5d3433393139 x6 : 392e32322020205b\n[   22.991934][    T1] x5 : 000000010916f000 x4 : 000000008164b000 x3 : ffffff808a4e0530\n[   22.991934][    T1] x2 : ffffffd08058e784 x1 : 0000000082326000 x0 : 000000010a283000\n[   22.991934][    T1] Call trace:\n[   22.991934][    T1]  swsusp_arch_resume+0x2ac/0x344\n[   22.991934][    T1]  hibernation_restore+0x158/0x18c\n[   22.991934][    T1]  load_image_and_restore+0xb0/0xec\n[   22.991934][    T1]  software_resume+0xf4/0x19c\n[   22.991934][    T1]  software_resume_initcall+0x34/0x78\n[   22.991934][    T1]  do_one_initcall+0xe8/0x370\n[   22.991934][    T1]  do_initcall_level+0xc8/0x19c\n[   22.991934][    T1]  do_initcalls+0x70/0xc0\n[   22.991934][    T1]  do_basic_setup+0x1c/0x28\n[   22.991934][    T1]  kernel_init_freeable+0xe0/0x148\n[   22.991934][    T1]  kernel_init+0x20/0x1a8\n[   22.991934][    T1]  ret_from_fork+0x10/0x20\n[   22.991934][    T1] Code: a9400a61 f94013e0 f9438923 f9400a64 (b85fc110)\n\n[catalin.marinas@arm.com: commit log updated by Mark Rutland]","state":0,"publishedAt":"2026-02-14T15:09:56.916+00:00","modifiedAt":"2026-10-19T18:25:32.703+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"arch/arm64/kernel/hibernate.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"89245600941e4e0f87d77f60ee269b5e61ef4e49\",\n                            \"lessThan\": \"122b7cb80f7d468fcc2d18cf7eb320f09f310a96\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"89245600941e4e0f87d77f60ee269b5e61ef4e49\",\n                            \"lessThan\": \"8557bdd9af8dd04911fba56ff92b17842b0b5c7f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"89245600941e4e0f87d77f60ee269b5e61ef4e49\",\n                            \"lessThan\": \"9773a886f26766a8db92d4b342b620a82c2de7dd\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"89245600941e4e0f87d77f60ee269b5e61ef4e49\",\n                            \"lessThan\": \"6e32070d29d1a35d8f4b3c03babf6c0e5efd1d08\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"89245600941e4e0f87d77f60ee269b5e61ef4e49\",\n                            \"lessThan\": \"e2f8216ca2d8e61a23cb6ec355616339667e0ba6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"arch/arm64/kernel/hibernate.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.1\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.1\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.162\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.122\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.68\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.8\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.19\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/122b7cb80f7d468fcc2d18cf7eb320f09f310a96","https://git.kernel.org/stable/c/8557bdd9af8dd04911fba56ff92b17842b0b5c7f","https://git.kernel.org/stable/c/9773a886f26766a8db92d4b342b620a82c2de7dd","https://git.kernel.org/stable/c/6e32070d29d1a35d8f4b3c03babf6c0e5efd1d08","https://git.kernel.org/stable/c/e2f8216ca2d8e61a23cb6ec355616339667e0ba6"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-23128","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-23128","identifiers":["CVE-2026-23128"]},"retained":false,"historicalAffected":[]}],"coverage":[]}