---
id: CVE-2023-53149
title: 'ext4: avoid deadlock in fs reclaim with page writeback'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ext4: avoid deadlock in fs reclaim with page writeback

  Ext4 has a filesystem wide lock protecting ext4_writepages() calls to
  avoid races with switching of journalled d…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f <
    385b49a1f34b26f62e3834c773560b120825b6f8
  - >-
    Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f <
    2ec97dc90df40c50e509809dc9a198638a7e18b6
  - >-
    Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f <
    4b4340bf04ce9a52061f15000ecedd126abc093c
  - >-
    Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f <
    00d873c17e29cc32d90ca852b82685f1673acaa5
  - Linux 4.7
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:19:11.717190Z'
published: '2025-09-15'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:21:05.202Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2023-53149'
references:
  - url: 'https://git.kernel.org/stable/c/385b49a1f34b26f62e3834c773560b120825b6f8'
  - url: 'https://git.kernel.org/stable/c/2ec97dc90df40c50e509809dc9a198638a7e18b6'
  - url: 'https://git.kernel.org/stable/c/4b4340bf04ce9a52061f15000ecedd126abc093c'
  - url: 'https://git.kernel.org/stable/c/00d873c17e29cc32d90ca852b82685f1673acaa5'
tags:
  - cve.org
epss: 0.00121
epssPercentile: 0.01885
ingestedAt: '2026-11-03T11:43:15.785Z'
---

## Overview

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

ext4: avoid deadlock in fs reclaim with page writeback

Ext4 has a filesystem wide lock protecting ext4_writepages() calls to
avoid races with switching of journalled data flag or inode format. This
lock can however cause a deadlock like:

CPU0                            CPU1

ext4_writepages()
  percpu_down_read(sbi->s_writepages_rwsem);
                                ext4_change_inode_journal_flag()
                                  percpu_down_write(sbi->s_writepages_rwsem);
                                    - blocks, all readers block from now on
  ext4_do_writepages()
    ext4_init_io_end()
      kmem_cache_zalloc(io_end_cachep, GFP_KERNEL)
        fs_reclaim frees dentry...
          dentry_unlink_inode()
            iput() - last ref =>
              iput_final() - inode dirty =>
                write_inode_now()...
                  ext4_writepages() tries to acquire sbi->s_writepages_rwsem
                    and blocks forever

Make sure we cannot recurse into filesystem reclaim from writeback code
to avoid the deadlock.

## Affected

- `Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 385b49a1f34b26f62e3834c773560b120825b6f8`
- `Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 2ec97dc90df40c50e509809dc9a198638a7e18b6`
- `Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 4b4340bf04ce9a52061f15000ecedd126abc093c`
- `Linux >= c8585c6fcaf2011de54c3592e80a634a2b9e1a7f < 00d873c17e29cc32d90ca852b82685f1673acaa5`
- `Linux 4.7`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
