CVE-2021-47117

ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed

State
Published
Severity
Not scored
Published
Mar 15, 2024
Updated
May 11, 2026
Reserved
Mar 4, 2024

Read the record on cve.org

Description

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

ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed

We got follow bug_on when run fsstress with injecting IO fault: [130747.323114] kernel BUG at fs/ext4/extents_status.c:762! [130747.323117] Internal error: Oops - BUG: 0 [#1] SMP ...... [130747.334329] Call trace: [130747.334553] ext4_es_cache_extent+0x150/0x168 [ext4] [130747.334975] ext4_cache_extents+0x64/0xe8 [ext4] [130747.335368] ext4_find_extent+0x300/0x330 [ext4] [130747.335759] ext4_ext_map_blocks+0x74/0x1178 [ext4] [130747.336179] ext4_map_blocks+0x2f4/0x5f0 [ext4] [130747.336567] ext4_mpage_readpages+0x4a8/0x7a8 [ext4] [130747.336995] ext4_readpage+0x54/0x100 [ext4] [130747.337359] generic_file_buffered_read+0x410/0xae8 [130747.337767] generic_file_read_iter+0x114/0x190 [130747.338152] ext4_file_read_iter+0x5c/0x140 [ext4] [130747.338556] __vfs_read+0x11c/0x188 [130747.338851] vfs_read+0x94/0x150 [130747.339110] ksys_read+0x74/0xf0

This patch's modification is according to Jan Kara's suggestion in: https://patchwork.ozlabs.org/project/linux-ext4/patch/20210428085158.3728201-1-yebin10@huawei.com/ "I see. Now I understand your patch. Honestly, seeing how fragile is trying to fix extent tree after split has failed in the middle, I would probably go even further and make sure we fix the tree properly in case of ENOSPC and EDQUOT (those are easily user triggerable). Anything else indicates a HW problem or fs corruption so I'd rather leave the extent tree as is and don't try to fix it (which also means we will not create overlapping extents)."

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before e33bafad30d34cfa5e9787cb099cab05e2677fcbAffected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before 5b3a9a2be59478b013a430ac57b0f3d65471b071Affected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before d8116743ef5432336289256b2f7c117299213eb9Affected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before 569496aa3776eea1ff0d49d0174ac1b7e861e107Affected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before 920697b004e49cb026e2e15fe91be065bf0741b7Affected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before d3b668b96ad3192c0581a248ae2f596cd054792aAffected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before 48105dc98c9ca35af418746277b087cb2bc6df7cAffected
  • adb2355104b2109e06ba5276485d187d023b2fd2 to before 082cd4ec240b8734a82a89ffb890216ac98fec68Affected
LinuxLinux
  • 3.9Affected
  • before 3.9Not affected
  • 4.4.272 through 4.4.*Not affected
  • 4.9.272 through 4.9.*Not affected
  • 4.14.236 through 4.14.*Not affected
  • 4.19.194 through 4.19.*Not affected
  • 5.4.125 through 5.4.*Not affected
  • 5.10.43 through 5.10.*Not affected
  • 5.12.10 through 5.12.*Not affected
  • 5.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.