# CVE-2026-53122: btrfs: fix deadlock between reflink and transaction commit when using flushoncommit

CVE-2026-53122 is fixed in 52 products on 1 platform, first by ALAS2023-2026-1894, released June 22, 2026. It is not reported as exploited. Patch Radar priority: Routine.

- Web page: https://patchblox.com/security/cve/CVE-2026-53122
- Priority: Routine
- CVSS: 5.5 (Moderate)
- EPSS: 0.0013
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Jun 22, 2026
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-53122

## Description

In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix deadlock between reflink and transaction commit when using flushoncommit  When using the flushoncommit mount option, we can have a deadlock between a transaction commit and a reflink operation that copied an inline extent to an offset beyond the current i_size of the destination node.  The deadlock happens like this:  1) Task A clones an inline extent from inode X to an offset of inode Y    that is beyond Y's current i_size. This means we copied the inline    extent's data to a folio of inode Y that is beyond its EOF, using a    call to copy_inline_to_page();  2) Task B starts a transaction commit and calls    btrfs_start_delalloc_flush() to flush delalloc;  3) The delalloc flushing sees the new dirty folio of inode Y and when it    attempts to flush it, it ends up at extent_writepage() and sees that    the offset of the folio is beyond the i_size of inode Y, so it attempts    to invalidate the folio by calling folio_invalidate(), which ends up at    btrfs' folio invalidate callback - btrfs_invalidate_folio(). There it    tries to lock the folio's range in inode Y's extent io tree, but it    blocks since it's currently locked by task A - during a reflink we lock    the inodes and the source and destination ranges after flushing all    delalloc and waiting for ordered extent completion - after that we    don't expect to have dirty folios in the ranges, the exception is if    we have to copy an inline extent's data (because the destination offset    is not zero);  4) Task A then attempts to start a transaction to update the inode item,    and then it's blocked since the current transaction is in the    TRANS_STATE_COMMIT_START state. Therefore task A has to wait for the    current transaction to become unblocked (its state >=    TRANS_STATE_UNBLOCKED).     So task A is waiting for the transaction commit done by task B, and    the later waiting on the extent lock of inode Y that is currently    held by task A.  Syzbot recently reported this with the following stack traces:    INFO: task kworker/u8:7:1053 blocked for more than 143 seconds.         Not tainted syzkaller #0   "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.   task:kworker/u8:7    state:D stack:23520 pid:1053  tgid:1053  ppid:2      task_flags:0x4208060 flags:0x00080000   Workqueue: writeback wb_workfn (flush-btrfs-46)   Call Trace:    <TASK>    context_switch kernel/sched/core.c:5298 [inline]    __schedule+0x1553/0x5240 kernel/sched/core.c:6911    __schedule_loop kernel/sched/core.c:6993 [inline]    schedule+0x164/0x360 kernel/sched/core.c:7008    wait_extent_bit fs/btrfs/extent-io-tree.c:811 [inline]    btrfs_lock_extent_bits+0x59c/0x700 fs/btrfs/extent-io-tree.c:1914    btrfs_lock_extent fs/btrfs/extent-io-tree.h:152 [inline]    btrfs_invalidate_folio+0x43d/0xc40 fs/btrfs/inode.c:7704    extent_writepage fs/btrfs/extent_io.c:1852 [inline]    extent_write_cache_pages fs/btrfs/extent_io.c:2580 [inline]    btrfs_writepages+0x12ff/0x2440 fs/btrfs/extent_io.c:2713    do_writepages+0x32e/0x550 mm/page-writeback.c:2554    __writeback_single_inode+0x133/0x11a0 fs/fs-writeback.c:1750    writeback_sb_inodes+0x995/0x19d0 fs/fs-writeback.c:2042    wb_writeback+0x456/0xb70 fs/fs-writeback.c:2227    wb_do_writeback fs/fs-writeback.c:2374 [inline]    wb_workfn+0x41a/0xf60 fs/fs-writeback.c:2414    process_one_work kernel/workqueue.c:3276 [inline]    process_scheduled_works+0xb6e/0x18c0 kernel/workqueue.c:3359    worker_thread+0xa53/0xfc0 kernel/workqueue.c:3440    kthread+0x388/0x470 kernel/kthread.c:436    ret_from_fork+0x51e/0xb90 arch/x86/kernel/process.c:158    ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245    </TASK>   INFO: task syz.4.64:6910 blocked for more than 143 seconds.         Not tainted syzkaller #0   "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.   task:syz.4.64        state:D stack:22752 pid:6910  tgid: ---truncated---

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | bpftool6.12 amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | bpftool6.12-debuginfo amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | bpftool6.18 amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | bpftool6.18-debuginfo amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | dtb-aarch64 opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-64kb opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-64kb sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-64kb sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-azure opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-azure sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-azure sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-default opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-default sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-default sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-default-base opensuse-leap 16.0 | 6.12.0-160000.36.1.160000.2.17 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-default-base sles 15.7 | 6.4.0-150700.53.66.1.150700.17.39.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-default-base sles 16.0 | 6.12.0-160000.36.1.160000.2.17 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-docs opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-docs sles 15.7 | 6.4.0-150700.53.66.2 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-docs sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-kvmsmall opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-kvmsmall sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-livepatch-6.12.92-122.166 amzn 2023 | 1:1.0-0.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel-livepatch-6.18.33-63.124 amzn 2023 | 1:1.0-0.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel-livepatch-SLE15-SP7-RT_Update_17 sles 15.7 | 1-150700.1.3.1 | [SUSE-SU-2026:2799-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2799-1.md) | Jul 8, 2026 |
| Linux | kernel-livepatch-SLE15-SP7_Update_18 sles 15.7 | 1-150700.15.3.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-obs-build opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-obs-build sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-obs-qa opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-obs-qa sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-rt opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-source opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-source sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-source sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-syms opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-syms sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-syms sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel-zfcpdump opensuse-leap 16.0 | 6.12.0-160000.36.1 | [OPENSUSE-SU-2026:21388-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-21388-1.md) | Jul 21, 2026 |
| Linux | kernel-zfcpdump sles 15.7 | 6.4.0-150700.53.66.1 | [SUSE-SU-2026:2800-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-2800-1.md) | Jul 8, 2026 |
| Linux | kernel-zfcpdump sles 16.0 | 6.12.0-160000.36.1 | [SUSE-SU-2026:22835-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-22835-1.md) | Jul 21, 2026 |
| Linux | kernel6.12 amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-debuginfo amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-debuginfo-common-aarch64 amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-debuginfo-common-x86_64 amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-devel amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-headers amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-modules-extra amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-modules-extra-common amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-tools amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-tools-debuginfo amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.12-tools-devel amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | kernel6.18 amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-debuginfo amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-debuginfo-common-aarch64 amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-debuginfo-common-x86_64 amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-devel amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-headers amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-modules-extra amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-modules-extra-common amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-tools amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-tools-debuginfo amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | kernel6.18-tools-devel amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | linux Debian 13.5 (trixie) | 6.12.94-1 | [DEBIAN-CVE-2026-53122](https://patchblox.com/security/data/fix/linux/debian-cve-2026-53122.md) | Jun 25, 2026 |
| Linux | linux Debian 14 | 7.0.10-1 | [DEBIAN-CVE-2026-53122](https://patchblox.com/security/data/fix/linux/debian-cve-2026-53122.md) | Jun 25, 2026 |
| Linux | perf6.12 amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | perf6.12-debuginfo amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | perf6.18 amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | perf6.18-debuginfo amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | python3-perf6.12 amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | python3-perf6.12-debuginfo amzn 2023 | 1:6.12.92-122.166.amzn2023 | [ALAS2023-2026-1894](https://patchblox.com/security/data/fix/linux/alas2023-2026-1894.md) | Jun 22, 2026 |
| Linux | python3-perf6.18 amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |
| Linux | python3-perf6.18-debuginfo amzn 2023 | 1:6.18.33-63.124.amzn2023 | [ALAS2023-2026-1866](https://patchblox.com/security/data/fix/linux/alas2023-2026-1866.md) | Jun 22, 2026 |

---

Data as of 2026-11-08T19:12:23Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
