Description
In the Linux kernel, the following vulnerability has been resolved: parisc: Avoid crash due to unaligned access in unwinder Guenter Roeck reported this kernel crash on his emulated B160L machine: Starting network: udhcpc: started, v1.36.1 Backtrace: [<104320d4>] unwind_once+0x1c/0x5c [<10434a00>] walk_stackframe.isra.0+0x74/0xb8 [<10434a6c>] arch_stack_walk+0x28/0x38 [<104e5efc>] stack_trace_save+0x48/0x5c [<105d1bdc>] set_track_prepare+0x44/0x6c [<105d9c80>] ___slab_alloc+0xfc4/0x1024 [<105d9d38>] __slab_alloc.isra.0+0x58/0x90 [<105dc80c>] kmem_cache_alloc_noprof+0x2ac/0x4a0 [<105b8e54>] __anon_vma_prepare+0x60/0x280 [<105a823c>] __vmf_anon_prepare+0x68/0x94 [<105a8b34>] do_wp_page+0x8cc/0xf10 [<105aad88>] handle_mm_fault+0x6c0/0xf08 [<10425568>] do_page_fault+0x110/0x440 [<10427938>] handle_interruption+0x184/0x748 [<11178398>] schedule+0x4c/0x190 BUG: spinlock recursion on CPU#0, ifconfig/2420 lock: terminate_lock.2+0x0/0x1c, .magic: dead4ead, .owner: ifconfig/2420, .owner_cpu: 0 While creating the stack trace, the unwinder uses the stack pointer to guess the previous frame to read the previous stack pointer from memory. The crash happens, because the unwinder tries to read from unaligned memory and as such triggers the unalignment trap handler which then leads to the spinlock recursion and finally to a deadlock. Fix it by checking the alignment before accessing the memory.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 9ac1f44723f26881b9fe7e69c7bc25397b879155
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 009270208f76456c2cefcd565da263b90bb2eadb
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before fd9f30d1038ee1624baa17a6ff11effe5f7617cb
6.12.58 (semver)
6.17.8 (semver)
6.18 (original_commit_for_fix)
References
git.kernel.org/...c/9ac1f44723f26881b9fe7e69c7bc25397b879155
git.kernel.org/...c/009270208f76456c2cefcd565da263b90bb2eadb
git.kernel.org/...c/fd9f30d1038ee1624baa17a6ff11effe5f7617cb
Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.