* Re: [PATCH] drm/appletbdrm: Use kvzalloc for big allocations
2026-04-20 12:17 [PATCH] drm/appletbdrm: Use kvzalloc for big allocations Sasha Finkelstein
@ 2026-04-20 13:30 ` Thomas Zimmermann
2026-04-20 13:47 ` Thomas Zimmermann
2026-04-20 14:03 ` Aditya Garg
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Zimmermann @ 2026-04-20 13:30 UTC (permalink / raw)
To: Sasha Finkelstein, Aun-Ali Zaidi, Aditya Garg, Maarten Lankhorst,
Maxime Ripard, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, soopyc
Am 20.04.26 um 14:17 schrieb Sasha Finkelstein:
> This driver is attached to a ~2000x80 screen, which is a lot more than
> a single page. This causes out of memory errors in some rare cases.
>
> Reported-by: soopyc <cassie@soopy.moe>
> Closes: https://github.com/t2linux/fedora/issues/51
> Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> drivers/gpu/drm/tiny/appletbdrm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/tiny/appletbdrm.c b/drivers/gpu/drm/tiny/appletbdrm.c
> index 3bae91d7eefe..278bb23fe4c8 100644
> --- a/drivers/gpu/drm/tiny/appletbdrm.c
> +++ b/drivers/gpu/drm/tiny/appletbdrm.c
> @@ -353,7 +353,7 @@ static int appletbdrm_primary_plane_helper_atomic_check(struct drm_plane *plane,
> frames_size +
> sizeof(struct appletbdrm_fb_request_footer), 16);
>
> - appletbdrm_state->request = kzalloc(request_size, GFP_KERNEL);
> + appletbdrm_state->request = kvzalloc(request_size, GFP_KERNEL);
>
> if (!appletbdrm_state->request)
> return -ENOMEM;
> @@ -543,7 +543,7 @@ static void appletbdrm_primary_plane_destroy_state(struct drm_plane *plane,
> {
> struct appletbdrm_plane_state *appletbdrm_state = to_appletbdrm_plane_state(state);
>
> - kfree(appletbdrm_state->request);
> + kvfree(appletbdrm_state->request);
> kfree(appletbdrm_state->response);
>
> __drm_gem_destroy_shadow_plane_state(&appletbdrm_state->base);
>
> ---
> base-commit: c1f49dea2b8f335813d3b348fd39117fb8efb428
> change-id: 20260420-x86-tb-vmalloc-4c94d5eaeeae
>
> Best regards,
> --
> Sasha Finkelstein <k@chaosmail.tech>
>
--
--
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)
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] drm/appletbdrm: Use kvzalloc for big allocations
2026-04-20 12:17 [PATCH] drm/appletbdrm: Use kvzalloc for big allocations Sasha Finkelstein
2026-04-20 13:30 ` Thomas Zimmermann
@ 2026-04-20 13:47 ` Thomas Zimmermann
2026-04-20 14:03 ` Aditya Garg
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Zimmermann @ 2026-04-20 13:47 UTC (permalink / raw)
To: Sasha Finkelstein, Aun-Ali Zaidi, Aditya Garg, Maarten Lankhorst,
Maxime Ripard, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, soopyc
Am 20.04.26 um 14:17 schrieb Sasha Finkelstein:
> This driver is attached to a ~2000x80 screen, which is a lot more than
> a single page. This causes out of memory errors in some rare cases.
>
> Reported-by: soopyc <cassie@soopy.moe>
> Closes: https://github.com/t2linux/fedora/issues/51
> Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
Fixes: 0670c2f56e45 ("drm/tiny: add driver for Apple Touch Bars in x86
Macs")
Cc: <stable@vger.kernel.org> # v6.15+
> ---
> drivers/gpu/drm/tiny/appletbdrm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/tiny/appletbdrm.c b/drivers/gpu/drm/tiny/appletbdrm.c
> index 3bae91d7eefe..278bb23fe4c8 100644
> --- a/drivers/gpu/drm/tiny/appletbdrm.c
> +++ b/drivers/gpu/drm/tiny/appletbdrm.c
> @@ -353,7 +353,7 @@ static int appletbdrm_primary_plane_helper_atomic_check(struct drm_plane *plane,
> frames_size +
> sizeof(struct appletbdrm_fb_request_footer), 16);
>
> - appletbdrm_state->request = kzalloc(request_size, GFP_KERNEL);
> + appletbdrm_state->request = kvzalloc(request_size, GFP_KERNEL);
>
> if (!appletbdrm_state->request)
> return -ENOMEM;
> @@ -543,7 +543,7 @@ static void appletbdrm_primary_plane_destroy_state(struct drm_plane *plane,
> {
> struct appletbdrm_plane_state *appletbdrm_state = to_appletbdrm_plane_state(state);
>
> - kfree(appletbdrm_state->request);
> + kvfree(appletbdrm_state->request);
> kfree(appletbdrm_state->response);
>
> __drm_gem_destroy_shadow_plane_state(&appletbdrm_state->base);
>
> ---
> base-commit: c1f49dea2b8f335813d3b348fd39117fb8efb428
> change-id: 20260420-x86-tb-vmalloc-4c94d5eaeeae
>
> Best regards,
> --
> Sasha Finkelstein <k@chaosmail.tech>
>
--
--
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)
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] drm/appletbdrm: Use kvzalloc for big allocations
2026-04-20 12:17 [PATCH] drm/appletbdrm: Use kvzalloc for big allocations Sasha Finkelstein
2026-04-20 13:30 ` Thomas Zimmermann
2026-04-20 13:47 ` Thomas Zimmermann
@ 2026-04-20 14:03 ` Aditya Garg
2 siblings, 0 replies; 4+ messages in thread
From: Aditya Garg @ 2026-04-20 14:03 UTC (permalink / raw)
To: Sasha Finkelstein, Aun-Ali Zaidi, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, soopyc
Thanks for the fix!
Reviewed-by: Aditya Garg <gargaditya08@live.com>
On 4/20/26 17:47, Sasha Finkelstein wrote:
> This driver is attached to a ~2000x80 screen, which is a lot more than
> a single page. This causes out of memory errors in some rare cases.
>
> Reported-by: soopyc <cassie@soopy.moe>
> Closes: https://github.com/t2linux/fedora/issues/51
> Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
> ---
> drivers/gpu/drm/tiny/appletbdrm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/tiny/appletbdrm.c b/drivers/gpu/drm/tiny/appletbdrm.c
> index 3bae91d7eefe..278bb23fe4c8 100644
> --- a/drivers/gpu/drm/tiny/appletbdrm.c
> +++ b/drivers/gpu/drm/tiny/appletbdrm.c
> @@ -353,7 +353,7 @@ static int appletbdrm_primary_plane_helper_atomic_check(struct drm_plane *plane,
> frames_size +
> sizeof(struct appletbdrm_fb_request_footer), 16);
>
> - appletbdrm_state->request = kzalloc(request_size, GFP_KERNEL);
> + appletbdrm_state->request = kvzalloc(request_size, GFP_KERNEL);
>
> if (!appletbdrm_state->request)
> return -ENOMEM;
> @@ -543,7 +543,7 @@ static void appletbdrm_primary_plane_destroy_state(struct drm_plane *plane,
> {
> struct appletbdrm_plane_state *appletbdrm_state = to_appletbdrm_plane_state(state);
>
> - kfree(appletbdrm_state->request);
> + kvfree(appletbdrm_state->request);
> kfree(appletbdrm_state->response);
>
> __drm_gem_destroy_shadow_plane_state(&appletbdrm_state->base);
>
> ---
> base-commit: c1f49dea2b8f335813d3b348fd39117fb8efb428
> change-id: 20260420-x86-tb-vmalloc-4c94d5eaeeae
>
> Best regards,
> --
> Sasha Finkelstein <k@chaosmail.tech>
>
^ permalink raw reply [flat|nested] 4+ messages in thread