CVE-2023-53181

Summary

In the Linux kernel, the following vulnerability has been resolved:

dma-buf/dma-resv: Stop leaking on krealloc() failure

Currently dma_resv_get_fences() will leak the previously allocated array if the fence iteration got restarted and the krealloc_array() fails.

Free the old array by hand, and make sure we still clear the returned *fences so the caller won't end up accessing freed memory. Some (but not all) of the callers of dma_resv_get_fences() seem to still trawl through the array even when dma_resv_get_fences() failed. And let's zero out *num_fences as well for good measure.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxd3c80698c9f58a0683badf78793eebaa0c71afbd < 19e7b9f1f7e1cb92a4cc53b4c064f7fb4b1f1983affected
LinuxLinuxd3c80698c9f58a0683badf78793eebaa0c71afbd < 819656cc03dec7f7f7800274dfbc8eb49f888e9faffected
LinuxLinuxd3c80698c9f58a0683badf78793eebaa0c71afbd < 05abb3be91d8788328231ee02973ab3d47f5e3d2affected
LinuxLinux5.16affected
LinuxLinux0 < 5.16unaffected
LinuxLinux6.1.42 <= 6.1.*unaffected
LinuxLinux6.4.7 <= 6.4.*unaffected
LinuxLinux6.5 <= *unaffected

Weaknesses

References