Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2023-53845

nilfs2: fix infinite loop in nilfs_mdt_get_block()

Description

In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix infinite loop in nilfs_mdt_get_block() If the disk image that nilfs2 mounts is corrupted and a virtual block address obtained by block lookup for a metadata file is invalid, nilfs_bmap_lookup_at_level() may return the same internal return code as -ENOENT, meaning the block does not exist in the metadata file. This duplication of return codes confuses nilfs_mdt_get_block(), causing it to read and create a metadata block indefinitely. In particular, if this happens to the inode metadata file, ifile, semaphore i_rwsem can be left held, causing task hangs in lock_mount. Fix this issue by making nilfs_bmap_lookup_at_level() treat virtual block address translation failures with -ENOENT as metadata corruption instead of returning the error code.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • bdb265eae08db578e7cf5739be16f389d495fc75 to < cfb0bb4fbd40c1f06da7e9f88c0a2d46155b90c2affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < d536f9976bb04e9c84cf80045a9355975e418f41affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < fe1cbbcb1a2532ee1654e1ff121be8906d83c6f0affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < 8a89d36a07afe1ed4564df51fefa2bb556c85412affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < 8d07d9119642ba43d21f8ba64d51d01931096b20affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < 25457d07c8146e57d28906c663def033dc425af6affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < 34c5f17222b50c79848bb03ec8811648813e6a45affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < 5b29661669cb65b9750a3cf70ed3eaf947b92167affected
  • bdb265eae08db578e7cf5739be16f389d495fc75 to < a6a491c048882e7e424d407d32cba0b52d9ef2bfaffected

Linux Linux

Default version status: affected

  • 2.6.30affected
  • 0 to < 2.6.30unaffected
  • 4.14.315 to ≤ 4.14.*unaffected
  • 4.19.283 to ≤ 4.19.*unaffected
  • 5.4.243 to ≤ 5.4.*unaffected
  • 5.10.180 to ≤ 5.10.*unaffected
  • 5.15.111 to ≤ 5.15.*unaffected
  • 6.1.28 to ≤ 6.1.*unaffected
  • 6.2.15 to ≤ 6.2.*unaffected
  • 6.3.2 to ≤ 6.3.*unaffected
  • 6.4 to ≤ *unaffected

References