• Timur Tabi's avatar
    drm/nouveau: fix several DMA buffer leaks · 042b5f83
    Timur Tabi authored
    Nouveau manages GSP-RM DMA buffers with nvkm_gsp_mem objects.  Several of
    these buffers are never dealloced.  Some of them can be deallocated
    right after GSP-RM is initialized, but the rest need to stay until the
    driver unloads.
    
    Also futher bullet-proof these objects by poisoning the buffer and
    clearing the nvkm_gsp_mem object when it is deallocated.  Poisoning
    the buffer should trigger an error (or crash) from GSP-RM if it tries
    to access the buffer after we've deallocated it, because we were wrong
    about when it is safe to deallocate.
    
    Finally, change the mem->size field to a size_t because that's the same
    type that dma_alloc_coherent expects.
    
    Cc: <stable@vger.kernel.org> # v6.7
    Fixes: 176fdcbd ("drm/nouveau/gsp/r535: add support for booting GSP-RM")
    Signed-off-by: default avatarTimur Tabi <ttabi@nvidia.com>
    Signed-off-by: default avatarDanilo Krummrich <dakr@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240202230608.1981026-1-ttabi@nvidia.com
    042b5f83
gsp.h 9.64 KB