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().
Published: 2026-07-19
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability arises from improper handling of the preemption counter when reading certain sysfs files in the powerpc/hv-gpci subsystem. The bug causes preempt_disable() to be called without a matching put_cpu_var() on successful reads, gradually disabling preemption. Eventually a page fault in user mode triggers faulthandler_disabled, leading to a SIGSEGV and a BUG: scheduling while atomic, which typically results in a kernel crash or core dump. The impact is a local denial of service that can be triggered by reading the affected sysfs attributes and does not provide direct code execution.

Affected Systems

The flaw exists in the Linux kernel for configurations where CONFIG_PREEMPT is enabled. It affects all kernels that include the listed sysfs show handlers (processor_bus_topology_show, processor_config_show, affinity_domain_via_virtual_processor_show, and affinity_domain_via_domain_show). The patch is applied to the kernel's powerpc/hv-gpci subsystem; therefore any distribution running a kernel built from this source tree and with PREEMPT enabled is vulnerable. The CPE indicates the Linux kernel broadly.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity. With an EPSS score below 1% the likelihood of exploitation is very low and the vulnerability is not in the CISA KEV catalog. The required conditions are a local user able to read the affected sysfs entries on a PREEMPT-enabled kernel. An attacker can trigger the crash by issuing repeated reads; there is no authentication bypass or privilege escalation involved and no known exploits have been observed.

Generated by OpenCVE AI on July 30, 2026 at 20:45 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Patch the kernel by applying the commit that implements an out_success label and a matching put_cpu_var() call to the hv-gpci subsystem, then rebuild and reboot.
  • Distribute and install the updated kernel version from your vendor as soon as it is available for each affected distribution.
  • If an immediate update is not possible, reconfigure the kernel to compile the powerpc/hv-gpci module with CONFIG_PREEMPT disabled or remove the module from the system to eliminate the vulnerability.

Generated by OpenCVE AI on July 30, 2026 at 20:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Mon, 20 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Sun, 19 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
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().
Title powerpc/hv-gpci: fix preempt count leak in sysfs show paths
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-19T15:39:46.536Z

Reserved: 2026-07-19T07:54:57.030Z

Link: CVE-2026-64070

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Low

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-64070 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T21:00:22Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime