{"id":"CVE-2026-80804","revision":"2597f33c06a14eb88ef7b821eec075ab","records":[{"revision":"2597f33c06a14eb88ef7b821eec075ab","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-80804","aliases":[],"title":"xfs: restore nofs context unconditionally in xfs_trans_roll","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nxfs: restore nofs context unconditionally in xfs_trans_roll\n\nWhen __xfs_trans_commit() fails in xfs_trans_roll(), the NOFS context\nis cleared but only restored in the success path.  This leaves the\nerror path without nofs protection, causing a circular lock dependency\nbetween xfs_nondir_ilock_class and fs_reclaim:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock(&xfs_nondir_ilock_class);\n                               lock(fs_reclaim);\n                               lock(&xfs_nondir_ilock_class);\n  lock(fs_reclaim);\n\nFix this by moving xfs_trans_set_context() before the error check so\nthat nofs context is always restored on the new transaction.","state":0,"publishedAt":"2026-09-04T15:13:18.282+00:00","modifiedAt":"2026-10-19T08:43:57.464+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/xfs/xfs_trans.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"a1ca658d649a4d8972e2e21ac2625b633217e327\",\n                            \"lessThan\": \"b09198cf90ccf296970b774beea1c1ddb260f94c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a1ca658d649a4d8972e2e21ac2625b633217e327\",\n                            \"lessThan\": \"4d00a39c676274f4071b467e630565ac1e3ae0f2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"a1ca658d649a4d8972e2e21ac2625b633217e327\",\n                            \"lessThan\": \"0241ea5fb0fe86d2a673163b2f5815111aadc7f7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\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/xfs/xfs_trans.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"7.0\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"7.0\",\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/b09198cf90ccf296970b774beea1c1ddb260f94c","https://git.kernel.org/stable/c/4d00a39c676274f4071b467e630565ac1e3ae0f2","https://git.kernel.org/stable/c/0241ea5fb0fe86d2a673163b2f5815111aadc7f7"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-80804","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-80804","identifiers":["CVE-2026-80804"]},"retained":false,"historicalAffected":[]}],"coverage":[]}