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

ocfs2: fix missing metadata reservation for large xattrs

[BUG]
lsetxattr() panics the kernel when setting a large xattr value on a
fragmented filesystem where the file already has an external xattr
block.

[CAUSE]
ocfs2_calc_xattr_set_need() never reserves metadata blocks for a new
xattr value's extent tree when the file already has an external xattr
block. The not_found path leaves meta_add at zero, so meta_ac is NULL
when ocfs2_xattr_extend_allocation() runs.

A new value root has room for a single extent record. On a fragmented
filesystem, the allocator cannot satisfy the xattr value in one
contiguous run, so each non-contiguous run requires its own extent
record. When the value root's extent list is full and meta_ac is NULL,
ocfs2_add_clusters_in_btree() returns RESTART_META, and
ocfs2_xattr_extend_allocation() hits BUG_ON(why == RESTART_META).

[FIX]
The case where no xattr block exists yet already calls
ocfs2_extend_meta_needed(&def_xv.xv.xr_list) to reserve value tree
metadata. Add the same reservation to the case where an xattr block
already exists, making the two cases consistent.

Replace the BUG_ON with a -ENOSPC return so that if RESTART_META is
returned despite the reservation, the error propagates to userspace
instead of panicking the kernel.
Published: 2026-09-04
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The ocfs2 filesystem in the Linux kernel fails to reserve the necessary metadata blocks when a large extended attribute is written to a file that already contains an external xattr block on a fragmented filesystem. The missing reservation causes the kernel to hit a BUG_ON, resulting in a panic. This crash removes system availability but does not grant code execution or privilege escalation, representing a denial‑of‑service condition. No CVSS score is provided by the data.

Affected Systems

Linux kernel builds that include the ocfs2 filesystem are affected. The issue appears in configurations where ocfs2 is enabled and files with large extended attributes are written to fragmented storage.

Risk and Exploitability

The vulnerability can be triggered by any user or process that has permission to set extended attributes on a target file. The likely attack vector is local, requiring the ability to modify xattrs on ocfs2 files. EPSS score not available and the vulnerability is not listed in CISA KEV. The impact is a kernel crash that renders the system unavailable; no arbitrary code execution or remote access is provided. No CVSS score is supplied by the data, so severity cannot be quantified here.

Generated by OpenCVE AI on September 4, 2026 at 21:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that contains the ocfs2 fix or apply the upstream patch that reserves metadata blocks for large xattrs.
  • If ocfs2 is not required for your environment, disable the filesystem or avoid using it for critical data to eliminate the surface area.
  • Limit the size of extended attributes or prevent users from writing to files on ocfs2 partitions to reduce the risk of triggering the crash.

Generated by OpenCVE AI on September 4, 2026 at 21:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Fri, 04 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix missing metadata reservation for large xattrs [BUG] lsetxattr() panics the kernel when setting a large xattr value on a fragmented filesystem where the file already has an external xattr block. [CAUSE] ocfs2_calc_xattr_set_need() never reserves metadata blocks for a new xattr value's extent tree when the file already has an external xattr block. The not_found path leaves meta_add at zero, so meta_ac is NULL when ocfs2_xattr_extend_allocation() runs. A new value root has room for a single extent record. On a fragmented filesystem, the allocator cannot satisfy the xattr value in one contiguous run, so each non-contiguous run requires its own extent record. When the value root's extent list is full and meta_ac is NULL, ocfs2_add_clusters_in_btree() returns RESTART_META, and ocfs2_xattr_extend_allocation() hits BUG_ON(why == RESTART_META). [FIX] The case where no xattr block exists yet already calls ocfs2_extend_meta_needed(&def_xv.xv.xr_list) to reserve value tree metadata. Add the same reservation to the case where an xattr block already exists, making the two cases consistent. Replace the BUG_ON with a -ENOSPC return so that if RESTART_META is returned despite the reservation, the error propagates to userspace instead of panicking the kernel.
Title ocfs2: fix missing metadata reservation for large xattrs
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-09-04T15:13:29.769Z

Reserved: 2026-08-26T14:34:25.794Z

Link: CVE-2026-80809

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T16:18:08.190

Modified: 2026-09-04T16:18:08.190

Link: CVE-2026-80809

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T21:45:17Z

Weaknesses