CVE-2026-90150 PUBLISHED

pnfs/blocklayout: Fix device leaks on parse failure

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to 8a2494964edac2a13e82441c2bf887548dc3be0b (excl.)
  • affected from 5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to 1e1c36b206c659cf94c6755a1d821ed1babd32bc (excl.)
  • affected from 5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to 23e4162405c456ce12c772d5882d306135e828ae (excl.)
  • affected from 5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to c056f817e4200fb18079d5052c273a22f191ff0a (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.18 is affected
  • unaffected from 0 to 3.18 (excl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References