CVE-2026-90150
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: pnfs/blocklayout: Fix device leaks on parse failure bl_parse_concat() and bl_parse_stripe() allocate a child device array and then parse each child in turn. If parsing a child fails, the failed child is not counted in nr_children and the parent may be left with a children array that bl_free_device() will not release when nr_children is zero. Release the failed child and the already parsed children before returning the error. Also make bl_free_device() release the child array whenever the children pointer is set, so that partially initialised concat or stripe devices are cleaned up correctly. bl_parse_scsi() can also fail after assigning d->bdev_file and dropping the file reference. Clear the pointer after fput() so that an outer cleanup path does not put it again.
View original CVE JSON
{
"id": "CVE-2026-90150",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-17T17:17:07.943",
"lastModified": "2026-10-30T13:20:43.603",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\npnfs/blocklayout: Fix device leaks on parse failure\n\nbl_parse_concat() and bl_parse_stripe() allocate a child device array and\nthen parse each child in turn. If parsing a child fails, the failed child is\nnot counted in nr_children and the parent may be left with a children array\nthat bl_free_device() will not release when nr_children is zero.\n\nRelease the failed child and the already parsed children before returning the\nerror. Also make bl_free_device() release the child array whenever the\nchildren pointer is set, so that partially initialised concat or stripe\ndevices are cleaned up correctly.\n\nbl_parse_scsi() can also fail after assigning d->bdev_file and dropping the\nfile reference. Clear the pointer after fput() so that an outer cleanup path\ndoes not put it again."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"fs/nfs/blocklayout/dev.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5c83746a0cf2831d4b59f5cf99ef5fbf138564e4",
"lessThan": "710ae187a5d490a894054d17645cf5c83d37dfbf",
"versionType": "git",
"status": "affected"
},
{
"version": "5c83746a0cf2831d4b59f5cf99ef5fbf138564e4",
"lessThan": "51d162dfb618f6cf3aa5e331c0305e27771ad884",
"versionType": "git",
"status": "affected"
},
{
"version": "5c83746a0cf2831d4b59f5cf99ef5fbf138564e4",
"lessThan": "8a2494964edac2a13e82441c2bf887548dc3be0b",
"versionType": "git",
"status": "affected"
},
{
"version": "5c83746a0cf2831d4b59f5cf99ef5fbf138564e4",
"lessThan": "1e1c36b206c659cf94c6755a1d821ed1babd32bc",
"versionType": "git",
"status": "affected"
},
{
"version": "5c83746a0cf2831d4b59f5cf99ef5fbf138564e4",
"lessThan": "23e4162405c456ce12c772d5882d306135e828ae",
"versionType": "git",
"status": "affected"
},
{
"version": "5c83746a0cf2831d4b59f5cf99ef5fbf138564e4",
"lessThan": "c056f817e4200fb18079d5052c273a22f191ff0a",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"fs/nfs/blocklayout/dev.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.18",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.18",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"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/1e1c36b206c659cf94c6755a1d821ed1babd32bc",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/23e4162405c456ce12c772d5882d306135e828ae",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/51d162dfb618f6cf3aa5e331c0305e27771ad884",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/710ae187a5d490a894054d17645cf5c83d37dfbf",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8a2494964edac2a13e82441c2bf887548dc3be0b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c056f817e4200fb18079d5052c273a22f191ff0a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}