CVE-2026-64070

powerpc/hv-gpci: fix preempt count leak in sysfs show paths

State
Published
Severity
Not scored
Published
Jul 19, 2026
Updated
Sep 2, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

powerpc/hv-gpci: fix preempt count leak in sysfs show paths

Four sysfs show() callbacks in hv-gpci take get_cpu_var(hv_gpci_reqb) (which calls preempt_disable()) but only call the matching put_cpu_var() on the error path under the 'out:' label. Every successful read leaks one preempt_disable():

processor_bus_topology_show() processor_config_show() affinity_domain_via_virtual_processor_show() affinity_domain_via_domain_show()

(affinity_domain_via_partition_show() was already correct.)

On a CONFIG_PREEMPT=y kernel, repeated reads raise preempt_count and eventually return to userspace with preemption still disabled. The next user-mode page fault then hits faulthandler_disabled() == 1, gets forced to SIGSEGV, and the resulting coredump trips 'BUG: scheduling while atomic' in call_usermodehelper_exec -> wait_for_completion_state -> schedule:

BUG: scheduling while atomic: <task>/<pid>/0x00000004 ... __schedule_bug+0x6c/0x90 __schedule+0x58c/0x13a0 schedule+0x48/0x1a0 schedule_timeout+0x104/0x170 wait_for_completion_state+0x16c/0x330 call_usermodehelper_exec+0x254/0x2d0 vfs_coredump+0x1050/0x2590 get_signal+0xb9c/0xc80 do_notify_resume+0xf8/0x470

Add an out_success label that calls put_cpu_var() before returning the byte count, mirroring affinity_domain_via_partition_show().

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 71f1c39647d8c9d4d54a861ec81f1ff17544bcb6 to before b300312562fd6e4729697adb9f777f00ca0429f3Affected
  • 71f1c39647d8c9d4d54a861ec81f1ff17544bcb6 to before 45afabe7f99c5d8746434ee41c86584c01d70147Affected
  • 71f1c39647d8c9d4d54a861ec81f1ff17544bcb6 to before b61ebb2826ca1852c2bbd92a676fb622c358cab4Affected
  • 71f1c39647d8c9d4d54a861ec81f1ff17544bcb6 to before 903409000a07ac8e31ffedeb8516f4f8d67150c8Affected
  • 71f1c39647d8c9d4d54a861ec81f1ff17544bcb6 to before dbc30a57bd8e026995e9fa8e8c31cffd18542c01Affected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 6.6.156 through 6.6.*Not affected
  • 6.12.108 through 6.12.*Not affected
  • 6.18.49 through 6.18.*Not affected
  • 7.0.11 through 7.0.*Not affected
  • 7.1 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.