CVE-2026-89576: dm-era: fix shadowed superblock leak on take-snap failure
In the Linux kernel, the following vulnerability has been resolved:
dm-era: fix shadowed superblock leak on take-snap failure
metadatatakesnap() bumps the live superblock refcount and then dmtmshadowblock() allocates a new block for the metadata snapshot. If the subsequent dmsmincblock() of writesettreeroot or eraarrayroot fails, the function only unlocks the clone and returns. The newly allocated shadow block is never returned to the metadata space map, so each failed take-snap permanently leaks one metadata block.
Free the clone with dmsmdecblock() on those error paths, matching the final step of metadatadropsnap().
Affected Software
Event History
Frequently Asked Questions
What systems are exposed to this issue?
Linux kernel systems using device-mapper era metadata snapshots are exposed when a snapshot operation reaches the affected failure paths. The issue concerns metadata-space leakage rather than a stated confidentiality, integrity, or code-execution impact.
What conditions trigger the leak?
A metadata snapshot must be taken successfully far enough to allocate a shadow superblock, after which incrementing either writeset_tree_root or era_array_root must fail. Each such failed take-snap leaks one metadata block.
How can I tell whether the issue is occurring?
The provided information identifies the symptom as metadata blocks permanently lost after failed snapshot attempts. It does not provide a specific log message, metric, or command for confirming affected systems.
What is the mitigation if the fix cannot be applied immediately?
No operational workaround is provided. Reducing or avoiding failed metadata snapshot operations would avoid the stated per-failure metadata-block leak, but the data does not specify how to prevent those failures.