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