Re: [PATCH v2] HID: nintendo: stop device IO before hid_hw_stop on probe failure

Jiri Kosina <[email protected]> Mon, 3 Aug 2026 19:20:24 +0200 (CEST)
Newsgroups org.kernel.vger.linux-input,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On Thu, 30 Jul 2026, Jiangshan Yi wrote:

> nintendo_hid_probe() calls hid_device_io_start() before joycon_init()
> and joycon_leds_create().  If either fails, the error path jumps to
> err_close which calls hid_hw_close()/hid_hw_stop() without first calling
> hid_device_io_stop().
> 
> hid_hw_stop() does not stop device IO, so hid_input_report() may still
> run and access driver data that is being torn down, resulting in a
> use-after-free.
> 
> Add an err_io_stop label that calls hid_device_io_stop() before
> hid_hw_close(), and point the two post-io_start error paths at it.
> 
> Fixes: 2af16c1f846b ("HID: nintendo: add nintendo switch controller driver")
> Cc: [email protected]
> Signed-off-by: Jiangshan Yi <[email protected]>
> ---
>   Changes in v2:
>   - Resend as a standalone patch.  v1 was accidentally sent twice,
>     once as [PATCH 3/6] (part of an unrelated series) and once as
>     [PATCH], which confused the Sashiko bot into attempting to apply
>     both copies simultaneously.  No code changes.
> 
>   v1: https://lore.kernel.org/all/[email protected]/
> 
>  drivers/hid/hid-nintendo.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

Applied, thank you.

-- 
Jiri Kosina
SUSE Labs