CVE-2023-52860

drivers/perf: hisi: use cpuhp_state_remove_instance_nocalls() for hisi_hns3_pmu uninit process

State
Published
Severity
Not scored
Published
May 21, 2024
Updated
May 11, 2026
Reserved
May 21, 2024

Read the record on cve.org

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]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 66637ab137b44914356a9dc7a9b3f8ebcf0b0695 to before 4589403a343bb0c72a6faf5898386ff964d4e01aAffected
  • 66637ab137b44914356a9dc7a9b3f8ebcf0b0695 to before 3f5827371763f2d9c70719c270055a81d030f3d0Affected
  • 66637ab137b44914356a9dc7a9b3f8ebcf0b0695 to before d04ff5437a45f275db5530efb49b68d0ec851f6fAffected
  • 66637ab137b44914356a9dc7a9b3f8ebcf0b0695 to before 50b560783f7f71790bcf70e9e9855155fb0af8c1Affected
LinuxLinux
  • 6.0Affected
  • before 6.0Not affected
  • 6.1.63 through 6.1.*Not affected
  • 6.5.12 through 6.5.*Not affected
  • 6.6.2 through 6.6.*Not affected
  • 6.7 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.