-

CVE-2026-80879

ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write

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

ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write

A circular locking dependency involves INODE_ALLOC_SYSTEM_INODE,
EXTENT_ALLOC_SYSTEM_INODE, and ORPHAN_DIR_SYSTEM_INODE.

1. ocfs2_mknod() acquires INODE_ALLOC then EXTENT_ALLOC.

2. ocfs2_dio_end_io_write() acquires EXTENT_ALLOC for unwritten
   extents, then ORPHAN_DIR via ocfs2_del_inode_from_orphan() while still
   holding EXTENT_ALLOC.

3. ocfs2_wipe_inode() acquires ORPHAN_DIR then INODE_ALLOC via
   ocfs2_remove_inode.

Break the cycle in ocfs2_dio_end_io_write() by freeing the allocation
contexts (releasing EXTENT_ALLOC) before acquiring ORPHAN_DIR.

WARNING: possible circular locking dependency detected
------------------------------------------------------
is trying to acquire lock:
ffff8881e78b33a0
(&ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}, at:
ocfs2_evict_inode+0x1539/0x43b0 fs/ocfs2/inode.c:1299

but task is already holding lock:
ffff8881e78b4fa0
(&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]){+.+.}-{4:4}, at:
ocfs2_evict_inode+0xe97/0x43b0 fs/ocfs2/inode.c:1299

the existing dependency chain (in reverse order) is:

-> #2 (&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]){+.+.}-{4:4}:
       inode_lock include/linux/fs.h:1029 [inline]
       ocfs2_del_inode_from_orphan+0x12e/0x7a0 fs/ocfs2/namei.c:2728
       ocfs2_dio_end_io+0xf9c/0x1370 fs/ocfs2/aops.c:2418
       dio_complete+0x25b/0x790 fs/direct-io.c:281

-> #1 (&ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}:
       inode_lock include/linux/fs.h:1029 [inline]
       ocfs2_reserve_suballoc_bits+0x16d/0x4840 fs/ocfs2/suballoc.c:882
       ocfs2_reserve_new_metadata_blocks+0x415/0x9a0
       fs/ocfs2/suballoc.c:1078
       ocfs2_mknod+0x10f3/0x2260 fs/ocfs2/namei.c:351

-> #0 (&ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}:
       __lock_acquire+0x15a5/0x2cf0 kernel/locking/lockdep.c:5237
       lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868
       down_write+0x96/0x200 kernel/locking/rwsem.c:1625
       inode_lock include/linux/fs.h:1029 [inline]
       ocfs2_remove_inode fs/ocfs2/inode.c:733 [inline]
       ocfs2_wipe_inode fs/ocfs2/inode.c:896 [inline]
       ocfs2_delete_inode fs/ocfs2/inode.c:1157 [inline]
       ocfs2_evict_inode+0x1539/0x43b0 fs/ocfs2/inode.c:1299

Chain exists of:
  &ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE] -->
  &ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE] -->
  &ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]);
                               lock(&ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE]);
                               lock(&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]);
  lock(&ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]);

 *** DEADLOCK ***
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 97c03c0e9f73a5049794b3c69ee60fb5e8b0ebd8
Version < f0ae0a6ca87dc2d4a789f71cdedb808ba6c16990
Status affected
Version 1e99bb19994246514d63e656492904176f9d5edd
Version < 137e8b4823a9a11928428d4ec0a0cacb2f50a769
Status affected
Version 91e05ac2336d00d5b99fc774be4bd50039084796
Version < 4273548e418bd935430d35e9d052870f323441f3
Status affected
Version 886f97fa59d0bbfa9859fb1a66dd9e014b522d89
Version < 49b34bd3ad69611af03590a23abf2cda9ac1073d
Status affected
Version ea5bb1d20da756e4f41a48dad42b2e7d6e73f71e
Version < ff187c502b39389b0d732cb7050a3db8e5ebfcd6
Status affected
Version 3c636a3edca9c3f180b3079f94fe7e115730d9c6
Version < ae1f3460833d3e427420ab260278ec0e45d68c86
Status affected
Version d647c5b2fbf81560818dacade360abc8c00a9665
Version < f3dd1e534e9de64669415f8239e0094afecfed78
Status affected
Version d647c5b2fbf81560818dacade360abc8c00a9665
Version < ff6f26c58421614b02694ac9d219ac61d924bc68
Status affected
Version 069c3fb310e9336cf48cfdf8748a32c29fd0193d
Status affected
Version 5.10.258
Version < 5.10.261
Status affected
Version 5.15.209
Version < 5.15.212
Status affected
Version 6.1.175
Version < 6.1.178
Status affected
Version 6.6.140
Version < 6.6.145
Status affected
Version 6.12.86
Version < 6.12.97
Status affected
Version 6.18.27
Version < 6.18.40
Status affected
Version 7.0.4
Version < 7.1
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 7.1
Status affected
Version 0
Version < 7.1
Status unaffected
Version <= 5.10.*
Version 5.10.261
Status unaffected
Version <= 5.15.*
Version 5.15.212
Status unaffected
Version <= 6.1.*
Version 6.1.178
Status unaffected
Version <= 6.6.*
Version 6.6.145
Status unaffected
Version <= 6.12.*
Version 6.12.97
Status unaffected
Version <= 6.18.*
Version 6.18.40
Status unaffected
Version <= 7.1.*
Version 7.1.5
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.17% 0.06
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/f0ae0a6ca87dc2d4a789f71cdedb808ba6c16990
https://git.kernel.org/stable/c/137e8b4823a9a11928428d4ec0a0cacb2f50a769
https://git.kernel.org/stable/c/4273548e418bd935430d35e9d052870f323441f3
https://git.kernel.org/stable/c/49b34bd3ad69611af03590a23abf2cda9ac1073d
https://git.kernel.org/stable/c/ff187c502b39389b0d732cb7050a3db8e5ebfcd6
https://git.kernel.org/stable/c/ae1f3460833d3e427420ab260278ec0e45d68c86
https://git.kernel.org/stable/c/f3dd1e534e9de64669415f8239e0094afecfed78
https://git.kernel.org/stable/c/ff6f26c58421614b02694ac9d219ac61d924bc68