Description
In the Linux kernel, the following vulnerability has been resolved: arm64: fix oops in concurrently setting insn_emulation sysctls emulation_proc_handler() changes table->data for proc_dointvec_minmax and can generate the following Oops if called concurrently with itself: | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 | Internal error: Oops: 96000006 [#1] SMP | Call trace: | update_insn_emulation_mode+0xc0/0x148 | emulation_proc_handler+0x64/0xb8 | proc_sys_call_handler+0x9c/0xf8 | proc_sys_write+0x18/0x20 | __vfs_write+0x20/0x48 | vfs_write+0xe4/0x1d0 | ksys_write+0x70/0xf8 | __arm64_sys_write+0x20/0x28 | el0_svc_common.constprop.0+0x7c/0x1c0 | el0_svc_handler+0x2c/0xa0 | el0_svc+0x8/0x200 To fix this issue, keep the table->data as &insn->current_mode and use container_of() to retrieve the insn pointer. Another mutex is used to protect against the current_mode update but not for retrieving insn_emulation as table->data is no longer changing.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 9d5fec6ba2e4117d196a8259ab54615ffe562460
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before b51881b1da57fe9877125dfdd0aac5172958fcfd
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 04549063d5701976034d8c2bfda3d3a8cbf0409f
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 353b4673d01c512303c45cf2346f630cda73b5c9
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before cc69ef95988b9ef2fc730ec452a7441efb90ef5e
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 6a2fd114678d7fc1b5a0f8865ae98f1c17787455
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 07022e07017ee5540f5559b0aeb916e8383c1e1a
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before af483947d472eccb79e42059276c4deed76f99a6
4.14.291 (semver)
4.19.256 (semver)
5.4.211 (semver)
5.10.137 (semver)
5.15.61 (semver)
5.18.18 (semver)
5.19.2 (semver)
6.0 (original_commit_for_fix)
References
git.kernel.org/...c/9d5fec6ba2e4117d196a8259ab54615ffe562460
git.kernel.org/...c/b51881b1da57fe9877125dfdd0aac5172958fcfd
git.kernel.org/...c/04549063d5701976034d8c2bfda3d3a8cbf0409f
git.kernel.org/...c/353b4673d01c512303c45cf2346f630cda73b5c9
git.kernel.org/...c/cc69ef95988b9ef2fc730ec452a7441efb90ef5e
git.kernel.org/...c/6a2fd114678d7fc1b5a0f8865ae98f1c17787455
git.kernel.org/...c/07022e07017ee5540f5559b0aeb916e8383c1e1a
git.kernel.org/...c/af483947d472eccb79e42059276c4deed76f99a6
Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.