{"id":17427,"date":"2026-09-05T02:31:06","date_gmt":"2026-09-04T18:31:06","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80879"},"modified":"2026-09-05T02:31:06","modified_gmt":"2026-09-04T18:31:06","slug":"cve-2026-80879","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80879","title":{"rendered":"CVE-2026-80879 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: fix circular l"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write<\/p>\n<p>A circular locking dependency involves INODE_ALLOC_SYSTEM_INODE,<br \/>\nEXTENT_ALLOC_SYSTEM_INODE, and ORPHAN_DIR_SYSTEM_INODE.<\/p>\n<p>1. ocfs2_mknod() acquires INODE_ALLOC then EXTENT_ALLOC.<\/p>\n<p>2. ocfs2_dio_end_io_write() acquires EXTENT_ALLOC for unwritten<br \/>\n   extents, then ORPHAN_DIR via ocfs2_del_inode_from_orphan() while still<br \/>\n   holding EXTENT_ALLOC.<\/p>\n<p>3. ocfs2_wipe_inode() acquires ORPHAN_DIR then INODE_ALLOC via<br \/>\n   ocfs2_remove_inode.<\/p>\n<p>Break the cycle in ocfs2_dio_end_io_write() by freeing the allocation<br \/>\ncontexts (releasing EXTENT_ALLOC) before acquiring ORPHAN_DIR.<\/p>\n<p>WARNING: possible circular locking dependency detected<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nis trying to acquire lock:<br \/>\nffff8881e78b33a0<br \/>\n(&amp;ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}, at:<br \/>\nocfs2_evict_inode+0x1539\/0x43b0 fs\/ocfs2\/inode.c:1299<\/p>\n<p>but task is already holding lock:<br \/>\nffff8881e78b4fa0<br \/>\n(&amp;ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]){+.+.}-{4:4}, at:<br \/>\nocfs2_evict_inode+0xe97\/0x43b0 fs\/ocfs2\/inode.c:1299<\/p>\n<p>the existing dependency chain (in reverse order) is:<\/p>\n<p>-&gt; #2 (&amp;ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]){+.+.}-{4:4}:<br \/>\n       inode_lock include\/linux\/fs.h:1029 [inline]<br \/>\n       ocfs2_del_inode_from_orphan+0x12e\/0x7a0 fs\/ocfs2\/namei.c:2728<br \/>\n       ocfs2_dio_end_io+0xf9c\/0x1370 fs\/ocfs2\/aops.c:2418<br \/>\n       dio_complete+0x25b\/0x790 fs\/direct-io.c:281<\/p>\n<p>-&gt; #1 (&amp;ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}:<br \/>\n       inode_lock include\/linux\/fs.h:1029 [inline]<br \/>\n       ocfs2_reserve_suballoc_bits+0x16d\/0x4840 fs\/ocfs2\/suballoc.c:882<br \/>\n       ocfs2_reserve_new_metadata_blocks+0x415\/0x9a0<br \/>\n       fs\/ocfs2\/suballoc.c:1078<br \/>\n       ocfs2_mknod+0x10f3\/0x2260 fs\/ocfs2\/namei.c:351<\/p>\n<p>-&gt; #0 (&amp;ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}:<br \/>\n       __lock_acquire+0x15a5\/0x2cf0 kernel\/locking\/lockdep.c:5237<br \/>\n       lock_acquire+0x106\/0x350 kernel\/locking\/lockdep.c:5868<br \/>\n       down_write+0x96\/0x200 kernel\/locking\/rwsem.c:1625<br \/>\n       inode_lock include\/linux\/fs.h:1029 [inline]<br \/>\n       ocfs2_remove_inode fs\/ocfs2\/inode.c:733 [inline]<br \/>\n       ocfs2_wipe_inode fs\/ocfs2\/inode.c:896 [inline]<br \/>\n       ocfs2_delete_inode fs\/ocfs2\/inode.c:1157 [inline]<br \/>\n       ocfs2_evict_inode+0x1539\/0x43b0 fs\/ocfs2\/inode.c:1299<\/p>\n<p>Chain exists of:<br \/>\n  &amp;ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE] &#8211;&gt;<br \/>\n  &amp;ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE] &#8211;&gt;<br \/>\n  &amp;ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]<\/p>\n<p> Possible unsafe locking scenario:<\/p>\n<p>       CPU0                    CPU1<br \/>\n       &#8212;-                    &#8212;-<br \/>\n  lock(&amp;ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]);<br \/>\n                               lock(&amp;ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE]);<br \/>\n                               lock(&amp;ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]);<br \/>\n  lock(&amp;ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]);<\/p>\n<p> *** DEADLOCK ***<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write<\/p>\n<p>A circular locking dependency involves INODE_ALLOC_SYSTEM_INODE,<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-17427","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/17427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}