CVE-2026-93269
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: ext4: fix circular lock dependency in ext4_ext_migrate Move iput(tmp_inode) after ext4_writepages_up_write() to avoid a circular lock dependency between s_writepages_rwsem and sb_internal (freeze protection). The deadlock scenario: CPU0 (EXT4_IOC_MIGRATE) CPU1 (orphan cleanup during mount) ---- ---- ext4_ext_migrate() ext4_writepages_down_write() s_writepages_rwsem (write) ext4_evict_inode() sb_start_intwrite() [sb_internal] ... ext4_writepages() s_writepages_rwsem (read) [BLOCKED] iput(tmp_inode) ext4_evict_inode() sb_start_intwrite() [BLOCKED] The tmp_inode is a temporary inode with nlink=0 created solely for building the extent tree. Its eviction does not require s_writepages_rwsem protection, so deferring iput() until after releasing the rwsem is safe.
View original CVE JSON
{
"id": "CVE-2026-93269",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-24T16:17:23.873",
"lastModified": "2026-10-30T13:21:01.700",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\next4: fix circular lock dependency in ext4_ext_migrate\n\nMove iput(tmp_inode) after ext4_writepages_up_write() to avoid a\ncircular lock dependency between s_writepages_rwsem and sb_internal\n(freeze protection).\n\nThe deadlock scenario:\n\n CPU0 (EXT4_IOC_MIGRATE) CPU1 (orphan cleanup during mount)\n ---- ----\n ext4_ext_migrate()\n ext4_writepages_down_write()\n s_writepages_rwsem (write)\n ext4_evict_inode()\n sb_start_intwrite() [sb_internal]\n ...\n ext4_writepages()\n s_writepages_rwsem (read) [BLOCKED]\n iput(tmp_inode)\n ext4_evict_inode()\n sb_start_intwrite() [BLOCKED]\n\nThe tmp_inode is a temporary inode with nlink=0 created solely for\nbuilding the extent tree. Its eviction does not require\ns_writepages_rwsem protection, so deferring iput() until after\nreleasing the rwsem is safe."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"fs/ext4/migrate.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "cb85f4d23f794e24127f3e562cb3b54b0803f456",
"lessThan": "f204882d5eaca09f7848f081c9c9b5bbf2234895",
"versionType": "git",
"status": "affected"
},
{
"version": "cb85f4d23f794e24127f3e562cb3b54b0803f456",
"lessThan": "452950461241dfed8b1d32e94b227db38c99c5af",
"versionType": "git",
"status": "affected"
},
{
"version": "cb85f4d23f794e24127f3e562cb3b54b0803f456",
"lessThan": "ada23457d4748d6e9c36c6f871fc29a6f558c48c",
"versionType": "git",
"status": "affected"
},
{
"version": "cb85f4d23f794e24127f3e562cb3b54b0803f456",
"lessThan": "e4223231b6860141813637a6413c2371ae4d6fa8",
"versionType": "git",
"status": "affected"
},
{
"version": "cb85f4d23f794e24127f3e562cb3b54b0803f456",
"lessThan": "32f7ab52875ec7f800ca67e7176e5743a84baddf",
"versionType": "git",
"status": "affected"
},
{
"version": "cb85f4d23f794e24127f3e562cb3b54b0803f456",
"lessThan": "a897682793eba5de51ee6f3152760374afa629cf",
"versionType": "git",
"status": "affected"
},
{
"version": "eb799e163dc2bc1ea0a4820b66f79d32a5e907df",
"versionType": "git",
"status": "affected"
},
{
"version": "bcc1eab71a67c46b9e24544ac7923f44444174ce",
"versionType": "git",
"status": "affected"
},
{
"version": "8cf20fb73e73a4c4df0328b5297842c5ef34fdd9",
"versionType": "git",
"status": "affected"
},
{
"version": "e5d25003d059649e18a249635ed5ca7a7b1de5ad",
"versionType": "git",
"status": "affected"
},
{
"version": "69f8a7991fd93c49096ddd11574db3e7df238b7b",
"versionType": "git",
"status": "affected"
},
{
"version": "4.9.215",
"lessThan": "4.10",
"versionType": "semver",
"status": "affected"
},
{
"version": "4.14.172",
"lessThan": "4.15",
"versionType": "semver",
"status": "affected"
},
{
"version": "4.19.107",
"lessThan": "4.20",
"versionType": "semver",
"status": "affected"
},
{
"version": "5.4.23",
"lessThan": "5.5",
"versionType": "semver",
"status": "affected"
},
{
"version": "5.5.7",
"lessThan": "5.6",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"fs/ext4/migrate.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5.6",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.6",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.157",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.110",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.52",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.6",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/32f7ab52875ec7f800ca67e7176e5743a84baddf",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/452950461241dfed8b1d32e94b227db38c99c5af",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a897682793eba5de51ee6f3152760374afa629cf",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ada23457d4748d6e9c36c6f871fc29a6f558c48c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e4223231b6860141813637a6413c2371ae4d6fa8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f204882d5eaca09f7848f081c9c9b5bbf2234895",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}