{"id":"CVE-2026-80809","revision":"ddfaa69cf2bc440795e34ed13e884551","records":[{"revision":"ddfaa69cf2bc440795e34ed13e884551","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-80809","aliases":[],"title":"ocfs2: fix missing metadata reservation for large xattrs","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: fix missing metadata reservation for large xattrs\n\n[BUG]\nlsetxattr() panics the kernel when setting a large xattr value on a\nfragmented filesystem where the file already has an external xattr\nblock.\n\n[CAUSE]\nocfs2_calc_xattr_set_need() never reserves metadata blocks for a new\nxattr value's extent tree when the file already has an external xattr\nblock. The not_found path leaves meta_add at zero, so meta_ac is NULL\nwhen ocfs2_xattr_extend_allocation() runs.\n\nA new value root has room for a single extent record. On a fragmented\nfilesystem, the allocator cannot satisfy the xattr value in one\ncontiguous run, so each non-contiguous run requires its own extent\nrecord. When the value root's extent list is full and meta_ac is NULL,\nocfs2_add_clusters_in_btree() returns RESTART_META, and\nocfs2_xattr_extend_allocation() hits BUG_ON(why == RESTART_META).\n\n[FIX]\nThe case where no xattr block exists yet already calls\nocfs2_extend_meta_needed(&def_xv.xv.xr_list) to reserve value tree\nmetadata. Add the same reservation to the case where an xattr block\nalready exists, making the two cases consistent.\n\nReplace the BUG_ON with a -ENOSPC return so that if RESTART_META is\nreturned despite the reservation, the error propagates to userspace\ninstead of panicking the kernel.","state":0,"publishedAt":"2026-09-04T15:13:29.769+00:00","modifiedAt":"2026-10-19T08:44:02.755+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ocfs2/xattr.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"743ac908282ac97ef6e73ac3a92df2cc8ecb7479\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"04ba24bce61c917b5b3009f0db470cbb72e26a0d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"b4663405ae29d36011cd712d243456f3f9ab700d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"6a009f1e61b11d9e23d3c5aa1dacfb010945da45\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"b9eb5c9fdd81d82976d4d5be2b2458eb7d7e46ec\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"6176313622e34fa3e2b66b9d0682d1e1c6b365c5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"a3ccb57086dd7652d5ecb826486144198a98a8e9\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"50f0cbec45b0f3fd7e1263d01916518dbf31eb3f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a78f9f4668949a6588b8872f162e86685c63d023\",\n                            \"lessThan\": \"0cdc7dde00ec63ac714271fa8b2918d630b8da1a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"92f61d8a31e270f9391e7bcc0ac638bd4262a8e0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2.6.34.2\",\n                            \"lessThan\": \"2.6.35\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ocfs2/xattr.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2.6.35\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.6.35\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.267\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.218\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.185\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.154\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.106\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.47\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.11\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.1\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/743ac908282ac97ef6e73ac3a92df2cc8ecb7479","https://git.kernel.org/stable/c/04ba24bce61c917b5b3009f0db470cbb72e26a0d","https://git.kernel.org/stable/c/b4663405ae29d36011cd712d243456f3f9ab700d","https://git.kernel.org/stable/c/6a009f1e61b11d9e23d3c5aa1dacfb010945da45","https://git.kernel.org/stable/c/b9eb5c9fdd81d82976d4d5be2b2458eb7d7e46ec","https://git.kernel.org/stable/c/6176313622e34fa3e2b66b9d0682d1e1c6b365c5","https://git.kernel.org/stable/c/a3ccb57086dd7652d5ecb826486144198a98a8e9","https://git.kernel.org/stable/c/50f0cbec45b0f3fd7e1263d01916518dbf31eb3f","https://git.kernel.org/stable/c/0cdc7dde00ec63ac714271fa8b2918d630b8da1a"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-80809","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-80809","identifiers":["CVE-2026-80809"]},"retained":false,"historicalAffected":[]}],"coverage":[]}