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)