]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ttm/bo: add an API to populate a bo before exporting.
authorDave Airlie <airlied@redhat.com>
Thu, 4 Sep 2025 02:16:39 +0000 (12:16 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 11 Sep 2025 00:01:38 +0000 (10:01 +1000)
commit50243079865ae7c150bc54ea3ed59077cdf3da03
tree65ab074a8024dca1bba1b2c2c82b0773eddfcdf2
parent7df7b728c3cff1d61253c39e38e39c33bb4e7d09
ttm/bo: add an API to populate a bo before exporting.

While discussing cgroups we noticed a problem where you could export
a BO to a dma-buf without having it ever being backed or accounted for.

This meant in low memory situations or eventually with cgroups, a
lower privledged process might cause the compositor to try and allocate
a lot of memory on it's behalf and this could fail. At least make
sure the exporter has managed to allocate the RAM at least once
before exporting the object.

This only applies currently to TTM_PL_SYSTEM objects, because
GTT objects get populated on first validate, and VRAM doesn't
use TT.

Reviewed-by: Christian Koenig <christian.koenig@amd.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://lore.kernel.org/r/20250904021643.2050497-1-airlied@gmail.com
drivers/gpu/drm/ttm/ttm_bo.c
include/drm/ttm/ttm_bo.h