---
id: CVE-2024-39469
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors

  The error handling in nilfs_empty_dir() when a directory folio/page read
  fails is incorrect, as i…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors

  The error handling in nilfs_empty_dir() when a directory folio/page read
  fails is incorrect, as i…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H'
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 2.6.30, < 4.19.317'
  - 'linux_kernel >= 4.20, < 5.4.279'
  - 'linux_kernel >= 5.5, < 5.10.221'
  - 'linux_kernel >= 5.11, < 5.15.162'
  - 'linux_kernel >= 5.16, < 6.1.95'
  - 'linux_kernel >= 6.2, < 6.6.35'
  - 'linux_kernel >= 6.7, < 6.9.5'
  - linux_kernel = 6.10
patched:
  - linux_kernel 6.9.5
published: '2024-06-25'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:33.577'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-39469'
references:
  - url: 'https://git.kernel.org/stable/c/11a2edb70356a2202dcb7c9c189c8356ab4752cd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/129dcd3e7d036218db3f59c82d82004b9539ed82'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2ac8a2fe22bdde9eecce2a42cf5cab79333fb428'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/405b71f1251e5ae865f53bd27c45114e6c83bee3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/59f14875a96ef93f05b82ad3c980605f2cb444b5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7373a51e7998b508af7136530f3a997b286ce81c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c77ad608df6c091fe64ecb91f41ef7cb465587f1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d18b05eda7fa77f02114f15b02c009f28ee42346'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/11a2edb70356a2202dcb7c9c189c8356ab4752cd'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/129dcd3e7d036218db3f59c82d82004b9539ed82'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/2ac8a2fe22bdde9eecce2a42cf5cab79333fb428'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/405b71f1251e5ae865f53bd27c45114e6c83bee3'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/59f14875a96ef93f05b82ad3c980605f2cb444b5'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/7373a51e7998b508af7136530f3a997b286ce81c'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/c77ad608df6c091fe64ecb91f41ef7cb465587f1'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/d18b05eda7fa77f02114f15b02c009f28ee42346'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-355557.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-398330.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-39469.json
  - url: 'https://access.redhat.com/security/cve/CVE-2024-39469'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2294308'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2024-39469'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2024-39469'
  - url: >-
      https://lore.kernel.org/linux-cve-announce/2024062500-CVE-2024-39469-a1be@gregkh/T
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00251
epssPercentile: 0.16516
ingestedAt: '2026-10-15T03:30:12.715Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-09-10T17:07:55.313333Z'
cwe:
  - CWE-1050
scores:
  nvd: 7.1
  vendor: 5.5
---

## Overview

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

nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors

The error handling in nilfs_empty_dir() when a directory folio/page read
fails is incorrect, as in the old ext2 implementation, and if the
folio/page cannot be read or nilfs_check_folio() fails, it will falsely
determine the directory as empty and corrupt the file system.

In addition, since nilfs_empty_dir() does not immediately return on a
failed folio/page read, but continues to loop, this can cause a long loop
with I/O if i_size of the directory's inode is also corrupted, causing the
log writer thread to wait and hang, as reported by syzbot.

Fix these issues by making nilfs_empty_dir() immediately return a false
value (0) if it fails to get a directory folio/page.

## Affected

- `linux_kernel >= 2.6.30, < 4.19.317`
- `linux_kernel >= 4.20, < 5.4.279`
- `linux_kernel >= 5.5, < 5.10.221`
- `linux_kernel >= 5.11, < 5.15.162`
- `linux_kernel >= 5.16, < 6.1.95`
- `linux_kernel >= 6.2, < 6.6.35`
- `linux_kernel >= 6.7, < 6.9.5`
- `linux_kernel = 6.10`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.9.5`

## Vendor advisories

- **Red Hat VEX** · Low · updated 2026-10-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-39469.json)
