linux-stable/drivers/usb/gadget/function
John Keeping ba78f7c106 usb: gadget: f_hid: fix refcount leak on error path
[ Upstream commit 70a3288a75 ]

When failing to allocate report_desc, opts->refcnt has already been
incremented so it needs to be decremented to avoid leaving the options
structure permanently locked.

Fixes: 21a9476a7b ("usb: gadget: hid: add configfs support")
Tested-by: Lee Jones <lee@kernel.org>
Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Lee Jones <lee@kernel.org>
Signed-off-by: John Keeping <john@metanate.com>
Link: https://lore.kernel.org/r/20221122123523.3068034-3-john@metanate.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:26:27 +01:00
..
f_acm.c USB: gadget: f_acm: use CDC defines 2022-07-25 10:57:42 +02:00
f_ecm.c
f_eem.c
f_fs.c usb: gadget: f_fs: stricter integer overflow checks 2022-10-21 12:38:44 +02:00
f_hid.c usb: gadget: f_hid: fix refcount leak on error path 2022-12-31 13:26:27 +01:00
f_loopback.c
f_mass_storage.c usb: gadget: f_mass_storage: forced_eject attribute 2022-07-14 16:06:42 +02:00
f_mass_storage.h
f_midi.c
f_ncm.c
f_obex.c
f_phonet.c
f_printer.c usb: gadget: function: fix dangling pnp_string in f_printer.c 2022-10-21 12:38:48 +02:00
f_rndis.c
f_serial.c
f_sourcesink.c
f_subset.c
f_tcm.c
f_uac1.c
f_uac1_legacy.c
f_uac2.c usb: gadget: f_uac2: fix superspeed transfer 2022-08-19 11:11:16 +02:00
f_uvc.c usb: gadget: uvc: Prevent buffer overflow in setup handler 2022-12-21 17:41:13 +01:00
f_uvc.h
g_zero.h
Makefile
ndis.h
rndis.c
rndis.h
storage_common.c usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS 2022-08-30 15:33:12 +02:00
storage_common.h usb: gadget: f_mass_storage: forced_eject attribute 2022-07-14 16:06:42 +02:00
tcm.h
u_audio.c
u_audio.h
u_ecm.h
u_eem.h
u_ether.c usb: gadget: u_ether: Remove duplicated include in u_ether.c 2022-06-24 13:42:17 +02:00
u_ether.h
u_ether_configfs.h
u_fs.h
u_gether.h
u_hid.h
u_midi.h
u_ncm.h
u_phonet.h
u_printer.h
u_rndis.h
u_serial.c
u_serial.h
u_tcm.h
u_uac1.h
u_uac1_legacy.c
u_uac1_legacy.h
u_uac2.h
u_uvc.h
uac_common.h
uvc.h usb: gadget: uvc: increase worker prio to WQ_HIGHPRI 2022-10-21 12:39:22 +02:00
uvc_configfs.c usb: gadget: uvc: fix changing interface name via configfs 2022-07-08 14:58:25 +02:00
uvc_configfs.h
uvc_queue.c usb: gadget: uvc: fix sg handling in error case 2022-11-04 00:00:18 +09:00
uvc_queue.h
uvc_v4l2.c usb: gadget: uvc: increase worker prio to WQ_HIGHPRI 2022-10-21 12:39:22 +02:00
uvc_v4l2.h
uvc_video.c usb: gadget: uvc: fix sg handling during video encode 2022-11-04 00:00:18 +09:00
uvc_video.h