usb: gadget: f_mass_storage: Fix NULL dereference in fsg_add()
authorMattijs Korpershoek <mkorpershoek@baylibre.com>
Fri, 28 Mar 2025 08:15:43 +0000 (09:15 +0100)
committerMattijs Korpershoek <mkorpershoek@kernel.org>
Thu, 10 Apr 2025 08:00:24 +0000 (10:00 +0200)
commit6c9eaec55ae634bac02e0cf70eb78c879d008a5c
tree212c4e238a403dd2df41e13a3a5eb914ca932d40
parent47fd46db943a55a7e0232e27224d216b774d7575
usb: gadget: f_mass_storage: Fix NULL dereference in fsg_add()

fsg_common_init() can fail when memory is low. In that case, it returns
PTR_ERR().
fsg_add() does not check for failure, and thus dereferences an invalid
fsg_common later, which crashes.

Verify if we receive an error from fsg_common_init() and handle it
gracefully.

Reported-by: Zixun LI <admin@hifiphile.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Tested-by: Zixun LI <admin@hifiphile.com> # on SAM9X60
Link: https://lore.kernel.org/r/20250328-ums-gadget-leak-v1-3-3b677db99bde@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
drivers/usb/gadget/f_mass_storage.c