Description
In the Linux kernel, the following vulnerability has been resolved: net: ena: fix MMIO read buffer leak on probe failure ena_device_init() initializes the MMIO read mechanism with ena_com_mmio_reg_read_request_init(), which allocates a coherent DMA buffer for MMIO read responses. The normal removal path releases this buffer through ena_com_mmio_reg_read_request_destroy(). However, if ena_probe() fails after ena_device_init() succeeds, the error path destroys the admin resources and eventually frees ena_dev without destroying the MMIO read request, leaving the coherent DMA buffer allocated. Call ena_com_mmio_reg_read_request_destroy() in the probe error path before releasing the remaining device resources. This issue was found by manual code inspection.
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
1738cd3ed342294360d6a74d4e58800004bff854 to < a0f5fd7a285f44fa402242f26feddfe1d4a0fc6caffected1738cd3ed342294360d6a74d4e58800004bff854 to < 7bd3e9a2d0c288e54f51df260d9433163f5fbc1eaffected1738cd3ed342294360d6a74d4e58800004bff854 to < 30ff01b4c7e419bb70f40f01dcd7f6af680808b3affected1738cd3ed342294360d6a74d4e58800004bff854 to < 47785f9f638b064ce6e32e8e3b6f1ffd83849fc2affected1738cd3ed342294360d6a74d4e58800004bff854 to < 9476b4468862927297c94c440863cd8ed1e7cc83affected
Linux Linux
Default version status: affected
4.9affected0 to < 4.9unaffected6.6.160 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a0f5fd7a285f44fa402242f26feddfe1d4a0fc6c ↗
- https://git.kernel.org/stable/c/7bd3e9a2d0c288e54f51df260d9433163f5fbc1e ↗
- https://git.kernel.org/stable/c/30ff01b4c7e419bb70f40f01dcd7f6af680808b3 ↗
- https://git.kernel.org/stable/c/47785f9f638b064ce6e32e8e3b6f1ffd83849fc2 ↗
- https://git.kernel.org/stable/c/9476b4468862927297c94c440863cd8ed1e7cc83 ↗