Description
In the Linux kernel, the following vulnerability has been resolved:
drivers/perf: hisi: use cpuhp_state_remove_instance_nocalls() for hisi_hns3_pmu uninit process
When tearing down a 'hisi_hns3' PMU, we mistakenly run the CPU hotplug callbacks after the device has been unregistered, leading to fireworks when we try to execute empty function callbacks within the driver:
| Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 | CPU: 0 PID: 15 Comm: cpuhp/0 Tainted: G W O 5.12.0-rc4+ #1 | Hardware name: , BIOS KpxxxFPGA 1P B600 V143 04/22/2021 | pstate: 80400009 (Nzcv daif +PAN -UAO -TCO BTYPE=--) | pc : perf_pmu_migrate_context+0x98/0x38c | lr : perf_pmu_migrate_context+0x94/0x38c | | Call trace: | perf_pmu_migrate_context+0x98/0x38c | hisi_hns3_pmu_offline_cpu+0x104/0x12c [hisi_hns3_pmu]
Use cpuhp_state_remove_instance_nocalls() instead of cpuhp_state_remove_instance() so that the notifiers don't execute after the PMU device has been unregistered.
[will: Rewrote commit message]
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 66637ab137b44914356a9dc7a9b3f8ebcf0b0695, < 4589403a343bb0c72a6faf5898386ff964d4e01a; >= 66637ab137b44914356a9dc7a9b3f8ebcf0b0695, < 3f5827371763f2d9c70719c270055a81d030f3d0; >= 66637ab137b44914356a9dc7a9b3f8ebcf0b0695, < d04ff5437a45f275db5530efb49b68d0ec851f6f; >= 66637ab137b44914356a9dc7a9b3f8ebcf0b0695, < 50b560783f7f71790bcf70e9e9855155fb0af8c1 |
| Linux | Linux | 6.0 |
References
- https://git.kernel.org/stable/c/3f5827371763f2d9c70719c270055a81d030f3d0Patch
- https://git.kernel.org/stable/c/4589403a343bb0c72a6faf5898386ff964d4e01aPatch
- https://git.kernel.org/stable/c/50b560783f7f71790bcf70e9e9855155fb0af8c1Patch
- https://git.kernel.org/stable/c/d04ff5437a45f275db5530efb49b68d0ec851f6fPatch
- https://git.kernel.org/stable/c/3f5827371763f2d9c70719c270055a81d030f3d0Patch
- https://git.kernel.org/stable/c/4589403a343bb0c72a6faf5898386ff964d4e01aPatch
- https://git.kernel.org/stable/c/50b560783f7f71790bcf70e9e9855155fb0af8c1Patch
- https://git.kernel.org/stable/c/d04ff5437a45f275db5530efb49b68d0ec851f6fPatch
Timeline
- Published
- May 21, 2024
- Last modified
- Jun 17, 2026
- NVD status
- Analyzed