CVE-2026-43188

Source
https://cve.org/CVERecord?id=CVE-2026-43188
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43188.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-43188
Downstream
Published
2026-05-06T11:27:58.402Z
Modified
2026-07-15T01:49:05.669557153Z
Summary
ceph: do not propagate page array emplacement errors as batch errors
Details

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

ceph: do not propagate page array emplacement errors as batch errors

When fscrypt is enabled, movedirtyfolioinpagearray() may fail because it needs to allocate bounce buffers to store the encrypted versions of each folio. Each folio beyond the first allocates its bounce buffer with GFPNOWAIT. Failures are common (and expected) under this allocation mode; they should flush (not abort) the batch.

However, cephprocessfoliobatch() uses the same rc variable for its own return code and for capturing the return codes of its routine calls; failing to reset rc back to 0 results in the error being propagated out to the main writeback loop, which cannot actually tolerate any errors here: once ceph_wbc.pages is allocated, it must be passed to cephsubmitwrite() to be freed. If it survives until the next iteration (e.g. due to the goto being followed), cephallocatepagearray()'s BUG_ON() will oops the worker.

Note that this failure mode is currently masked due to another bug (addressed next in this series) that prevents multiple encrypted folios from being selected for the same write.

For now, just reset rc when redirtying the folio to prevent errors in movedirtyfolioinpagearray() from propagating. Note that movedirtyfolioinpagearray() is careful never to return errors on the first folio, so there is no need to check for that. After this change, cephprocessfolio_batch() no longer returns errors; its only remaining failure indicator is locked_pages == 0, which the caller already handles correctly.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43188.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ce80b76dd32764cc914975777e058d4fae4f0ea0
Fixed
746840c87d76b614b14d9337c466ff022fc49823
Fixed
4c0d84c788d89c167abf0bf84fd37890c4c84f08
Fixed
707104682e3c163f7c14cdd6b07a3e95fb374759

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43188.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.15.0
Fixed
6.18.16
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
6.19.6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43188.json"