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

Published Jul 19, 2026
·
Updated

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 getcpuvar(hvgpcireqb) (which calls preemptdisable()) but only call the matching putcpuvar() on the error path under the 'out:' label. Every successful read leaks one preemptdisable():

processorbustopologyshow() processorconfigshow() affinitydomainviavirtualprocessorshow() affinitydomainviadomainshow()

(affinitydomainviapartitionshow() was already correct.)

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

BUG: scheduling while atomic: <task>/<pid>/0x00000004 ... schedulebug+0x6c/0x90 schedule+0x58c/0x13a0 schedule+0x48/0x1a0 scheduletimeout+0x104/0x170 waitforcompletionstate+0x16c/0x330 callusermodehelperexec+0x254/0x2d0 vfscoredump+0x1050/0x2590 getsignal+0xb9c/0xc80 donotifyresume+0xf8/0x470

Add an outsuccess label that calls putcpuvar() before returning the byte count, mirroring affinitydomainviapartitionshow().

Affected Software

8 affected components
Linux Linux kernel
Linux Linux kernel>=6.6<6.6.156
Linux Linux kernel>=6.7<6.12.108
Linux Linux kernel>=6.13<6.18.49
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3

Event History

Jul 19, 2026
CVE Published
via MITRE·03:39 PM
Data Sourced
via MITRE·03:39 PM
Description
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

Which systems are exposed to this issue?

The issue affects Linux kernel systems using the powerpc hv-gpci code, specifically the four affected sysfs show callbacks. The described failure requires a kernel built with CONFIG_PREEMPT=y.

2

What does an attacker or local user need to do to trigger the failure?

A local user needs to repeatedly read one of the affected hv-gpci sysfs attributes. Each successful read leaks a preemption disable count; after enough reads, a subsequent user-mode page fault can be forced to SIGSEGV and may produce a “scheduling while atomic” kernel bug during coredump handling.

3

Is this a remote issue?

No. The supplied CVSS vector identifies local access (AV:L) and low privileges (PR:L), with no user interaction required (UI:N).

4

How can administrators recognize that the system may already be affected?

Relevant symptoms include processes receiving SIGSEGV after repeated reads of the affected sysfs paths and kernel logs containing “BUG: scheduling while atomic” during coredump processing. The call trace may include call_usermodehelper_exec, vfs_coredump, and get_signal.

5

What remediation is available?

A patch is available. Apply the referenced stable kernel fixes, which ensure the successful sysfs read paths also call the matching put_cpu_var() and do not leak the preemption count.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203