Re: [PATCH] Input: amijoy - fix memory region leak on registration failure

From: Dmitry Torokhov

Date: Sat Nov 07 2026 - 19:19:05 EST


Hi Thorsten,

On Sat, Nov 07, 2026 at 05:01:57PM +0100, Thorsten Blum wrote:
> If input_register_device() fails in amijoy_init(), release the memory
> region for port i before cleaning up the previously registered ports.
>
> Fixes: 127278ce2254 ("Input: joysticks - handle errors when registering input devices")
> Cc: stable@xxxxxxxxxxxxxxx
...
> err = input_register_device(amijoy_dev[i]);
> if (err) {
> input_free_device(amijoy_dev[i]);
> + release_mem_region(CUSTOM_PHYSADDR + 10 + i * 2, 2);
> goto fail;
> }

Do we really need this in stable? It has been like this for 20 years,
and only affects an unlikely input_register_device() failure (basically
-ENOMEM during init) on Amiga hardware, so please drop Cc: stable.

Without the constraint of keeping the diff minimal for stable, could we
also clean up the error handling here instead of unwinding inline (and
out of order relative to input_allocate_device() / request_mem_region())?
Either add cascading err_release_mem / err_free_dev labels before the
unregister loop so unwinding happens in reverse order without repeating
input_free_device(), or factor per-port initialization out into a small
amijoy_setup_port() helper.

Thanks.

--
Dmitry