CVE-2024-26943

Summary

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

nouveau/dmem: handle kcalloc() allocation failure

The kcalloc() in nouveau_dmem_evict_chunk() will return null if the physical memory has run out. As a result, if we dereference src_pfns, dst_pfns or dma_addrs, the null pointer dereference bugs will happen.

Moreover, the GPU is going away. If the kcalloc() fails, we could not evict all pages mapping a chunk. So this patch adds a __GFP_NOFAIL flag in kcalloc().

Finally, as there is no need to have physically contiguous memory, this patch switches kcalloc() to kvcalloc() in order to avoid failing allocations.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux249881232e1471d28b68f9a3829acc14d150cf5d < 9acfd8b083a0ffbd387566800d89f55058a68af2affected
LinuxLinux249881232e1471d28b68f9a3829acc14d150cf5d < 2a84744a037b8a511d6a9055f3defddc28ff4a4daffected
LinuxLinux249881232e1471d28b68f9a3829acc14d150cf5d < 5e81773757a95fc298e96cfd6d4700f07b6192a2affected
LinuxLinux249881232e1471d28b68f9a3829acc14d150cf5d < 3e82f7383e0b82a835e6b6b06a348b2bc4e2c2eeaffected
LinuxLinux249881232e1471d28b68f9a3829acc14d150cf5d < 16e87fe23d4af6df920406494ced5c0f4354567baffected
LinuxLinux6.1affected
LinuxLinux0 < 6.1unaffected
LinuxLinux6.1.84 <= 6.1.*unaffected
LinuxLinux6.6.24 <= 6.6.*unaffected
LinuxLinux6.7.12 <= 6.7.*unaffected
LinuxLinux6.8.3 <= 6.8.*unaffected
LinuxLinux6.9 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

References