In the Linux kernel, the following vulnerability has been resolved:
nilfs2: protect access to buffers with no active references
nilfslookupdirtydatabuffers(), which iterates through the buffers attached to dirty data folios/pages, accesses the attached buffers without locking the folios/pages.
For data cache, nilfsclearfoliodirty() may be called asynchronously when the file system degenerates to read only, so nilfslookupdirtydatabuffers() still has the potential to cause use after free issues when buffers lose the protection of their dirty state midway due to this asynchronous clearing and are unintentionally freed by trytofreebuffers().
Eliminate this race issue by adjusting the lock section in this function.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"42325904378351146641457477501352158554",
"117437290312947149464010137071757636393",
"68741907863819604366676236129608564557",
"120535602143612180643667082524410140071",
"248791160101384558410081364783599750179",
"196260203153674738802779097890278693950",
"64623930763979945313954206649388029020",
"161909434169588105087737472065656150699",
"92223922516130027718591654090755857847",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"9214591279190430567662947804958329698",
"95997441600721387541850472868853987621"
]
},
"id": "CVE-2025-21811-06c2ff21",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@58c27fa7a610b6e8d44e6220e7dbddfbaccaf439",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "178694745084286622116266075861744956784"
},
"id": "CVE-2025-21811-238131b1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72cf688d0ce7e642b12ddc9b2a42524737ec1b4a",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "178694745084286622116266075861744956784"
},
"id": "CVE-2025-21811-30fe84fd",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@58c27fa7a610b6e8d44e6220e7dbddfbaccaf439",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"42325904378351146641457477501352158554",
"117437290312947149464010137071757636393",
"68741907863819604366676236129608564557",
"120535602143612180643667082524410140071",
"248791160101384558410081364783599750179",
"196260203153674738802779097890278693950",
"64623930763979945313954206649388029020",
"161909434169588105087737472065656150699",
"92223922516130027718591654090755857847",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"9214591279190430567662947804958329698",
"95997441600721387541850472868853987621"
]
},
"id": "CVE-2025-21811-3d13ecf2",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72cf688d0ce7e642b12ddc9b2a42524737ec1b4a",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "251054554227206054451262031724244753979"
},
"id": "CVE-2025-21811-49137a2a",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c437dfac9f7a5a46ac2a5e6d6acd3059e9f68188",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"42325904378351146641457477501352158554",
"117437290312947149464010137071757636393",
"68741907863819604366676236129608564557",
"120535602143612180643667082524410140071",
"248791160101384558410081364783599750179",
"196260203153674738802779097890278693950",
"64623930763979945313954206649388029020",
"161909434169588105087737472065656150699",
"92223922516130027718591654090755857847",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"9214591279190430567662947804958329698",
"95997441600721387541850472868853987621"
]
},
"id": "CVE-2025-21811-4917ddca",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d8ff250e085a4c4cdda4ad1cdd234ed110393143",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"220877363334186111803735205492272309211",
"138673593142537086762331683610908649891",
"128393163607456229622960754732001545979",
"265014273249058051781008071975984646454",
"248791160101384558410081364783599750179",
"194993854066079135162172242908769171752",
"70676622313364778980102373369195138791",
"218286033500276935851357019331604469291",
"178276495437619874300341914269529430662",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"71561223283221346491106242538593254594",
"10576567030507163423627972166832675398"
]
},
"id": "CVE-2025-21811-55569ed0",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c437dfac9f7a5a46ac2a5e6d6acd3059e9f68188",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "251054554227206054451262031724244753979"
},
"id": "CVE-2025-21811-6bcc8075",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e1b9201c9a24638cf09c6e1c9f224157328010b",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"42325904378351146641457477501352158554",
"117437290312947149464010137071757636393",
"68741907863819604366676236129608564557",
"120535602143612180643667082524410140071",
"248791160101384558410081364783599750179",
"196260203153674738802779097890278693950",
"64623930763979945313954206649388029020",
"161909434169588105087737472065656150699",
"92223922516130027718591654090755857847",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"9214591279190430567662947804958329698",
"95997441600721387541850472868853987621"
]
},
"id": "CVE-2025-21811-8a01615b",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e1fc4a90a90ea8514246c45435662531975937d9",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "178694745084286622116266075861744956784"
},
"id": "CVE-2025-21811-a4fcedef",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d8ff250e085a4c4cdda4ad1cdd234ed110393143",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "178694745084286622116266075861744956784"
},
"id": "CVE-2025-21811-b90c8d56",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e1fc4a90a90ea8514246c45435662531975937d9",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"220877363334186111803735205492272309211",
"138673593142537086762331683610908649891",
"128393163607456229622960754732001545979",
"265014273249058051781008071975984646454",
"248791160101384558410081364783599750179",
"194993854066079135162172242908769171752",
"70676622313364778980102373369195138791",
"218286033500276935851357019331604469291",
"178276495437619874300341914269529430662",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"71561223283221346491106242538593254594",
"10576567030507163423627972166832675398"
]
},
"id": "CVE-2025-21811-b9e36373",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b08d23d7d1917bef4fbee8ad81372f49b006656",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"105190403463591654710811974202664599203",
"282188908563188640444293846189564684899",
"128393163607456229622960754732001545979",
"265014273249058051781008071975984646454",
"248791160101384558410081364783599750179",
"194993854066079135162172242908769171752",
"70676622313364778980102373369195138791",
"218286033500276935851357019331604469291",
"178276495437619874300341914269529430662",
"219972493181569200904302779079371132355",
"287022641847940963079626838966078362141",
"71561223283221346491106242538593254594",
"10576567030507163423627972166832675398"
]
},
"id": "CVE-2025-21811-cfd85765",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e1b9201c9a24638cf09c6e1c9f224157328010b",
"target": {
"file": "fs/nilfs2/segment.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1113.0,
"function_hash": "251054554227206054451262031724244753979"
},
"id": "CVE-2025-21811-e314c3dc",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b08d23d7d1917bef4fbee8ad81372f49b006656",
"target": {
"file": "fs/nilfs2/segment.c",
"function": "nilfs_lookup_dirty_data_buffers"
}
}
]