diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c index 47bbcb8..494a075 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c @@ -221,7 +221,7 @@ static uint64_t radeon_bomgr_find_va(struct radeon_bomgr *mgr, uint64_t size, ui pipe_mutex_unlock(mgr->bo_va_mutex); return offset; } - if ((hole->size - waste) >= size) { + if (waste < hole->size && (hole->size - waste) >= size) { if (waste) { n = CALLOC_STRUCT(radeon_bo_va_hole); n->size = waste;