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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to < 51d162dfb618f6cf3aa5e331c0305e27771ad884affected5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to < 8a2494964edac2a13e82441c2bf887548dc3be0baffected5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to < 1e1c36b206c659cf94c6755a1d821ed1babd32bcaffected5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to < 23e4162405c456ce12c772d5882d306135e828aeaffected5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 to < c056f817e4200fb18079d5052c273a22f191ff0aaffected
Linux Linux
Default version status: affected
3.18affected0 to < 3.18unaffected6.6.160 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/51d162dfb618f6cf3aa5e331c0305e27771ad884 ↗
- https://git.kernel.org/stable/c/8a2494964edac2a13e82441c2bf887548dc3be0b ↗
- https://git.kernel.org/stable/c/1e1c36b206c659cf94c6755a1d821ed1babd32bc ↗
- https://git.kernel.org/stable/c/23e4162405c456ce12c772d5882d306135e828ae ↗
- https://git.kernel.org/stable/c/c056f817e4200fb18079d5052c273a22f191ff0a ↗