Hi

Am 02.06.26 um 12:53 schrieb Jani Nikula:
On Tue, 02 Jun 2026, "Saarinen, Jani" <[email protected]> wrote:
Hi,
-----Original Message-----
From: Thomas Zimmermann <[email protected]>
Sent: Tuesday, 2 June 2026 10.30
To: [email protected]; [email protected]; Saarinen,
Jani <[email protected]>; [email protected]; [email protected];
[email protected]; [email protected]
Cc: [email protected]; [email protected]; intel-
[email protected]; Thomas Zimmermann <[email protected]>
Subject: [PATCH] drm/dumb-buffers: Increase size limits to match current
devices

Increase the limits for dumb-buffer arguments to sizes of 16384x16384 at 64
bpp. Such buffer sizes are still within 32-bit unsigned limits.
Fixes CI and high-end devices.

Signed-off-by: Thomas Zimmermann <[email protected]>
Fixes: 5ab62dd3687b ("drm: prevent integer overflows in dumb buffer
creation helpers")
Reported-by: Jani Nikula <[email protected]>
Closes: https://lore.kernel.org/dri-
devel/[email protected]/
Seems not helping on i915 CI BAT issue 
https://lore.kernel.org/intel-gfx/178038951063.34290.3796875109342598028@6beec6c84f66/T/#u
=> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_167719v1/index.html?
Right, so vgem_basic has this, among other things:

        bo.width = 1<<15;
        bo.height = 1<<15;
        bo.bpp = 16;
        vgem_create(fd, &bo);

i.e. 32768x32768.

Not so sure about this one.

Anyone else care to chime in?

I give up. I'll send out a patch to remove the size limits in a bit. The rest of the overflow fixes in the broken patch should not be a problem, I think.

But TBH allocating a dumb buffer of that size makes no sense. Who uses a 2-GiB buffer for software rendering?

And as I mentioned elsewhere, there are reports about devices with GiBs of VRAM but only a few hundered MiB of PCI-BAR ranges. As we don't have DMA here, there will be some size limits required to make mmap work correctly.

Best regards
Thomas



BR,
Jani.

Cc: Rajat Gupta <[email protected]>
Cc: Thomas Zimmermann <[email protected]>
Cc: Maarten Lankhorst <[email protected]>
Cc: Maxime Ripard <[email protected]>
Br,
Jani

---
  drivers/gpu/drm/drm_dumb_buffers.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_dumb_buffers.c
b/drivers/gpu/drm/drm_dumb_buffers.c
index e60130b2bb0c..9c4cfb3210aa 100644
--- a/drivers/gpu/drm/drm_dumb_buffers.c
+++ b/drivers/gpu/drm/drm_dumb_buffers.c
@@ -201,11 +201,12 @@ int drm_mode_create_dumb(struct drm_device
*dev,
        if (!args->width || !args->height || !args->bpp)
                return -EINVAL;

-       /* Reject unreasonable inputs early.  Dumb buffers are for software
-        * rendering; nothing legitimate needs more than 8192x8192 at
32bpp.
-        * This prevents overflows in downstream alignment helpers.
+       /*
+        * Reject unreasonable inputs early. Dumb buffers are for software
+        * rendering; nothing legitimate needs more than 16384x16384 at
+        * 64 bpp. This prevents overflows in downstream alignment helpers.
         */
-       if (args->width >= 8192 || args->height >= 8192 || args->bpp > 32)
+       if (args->width > 16384 || args->height > 16384 || args->bpp > 64)
                return -EINVAL;

        /* overflow checks for 32bit size calculations */

base-commit: a980196655477a8f5067112946401fe52e510664
--
2.54.0

--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)


Reply via email to