kernel_samsung_a53x/drivers/usb/gadget/function
Chris Wulff b5945ffb04 usb: gadget: f_fs: Fix a race condition when processing setup packets.
commit 0aea736ddb877b93f6d2dd8cf439840d6b4970a9 upstream.

If the USB driver passes a pointer into the TRB buffer for creq, this
buffer can be overwritten with the status response as soon as the event
is queued. This can make the final check return USB_GADGET_DELAYED_STATUS
when it shouldn't. Instead use the stored wLength.

Fixes: 4d644abf2569 ("usb: gadget: f_fs: Only return delayed status when len is 0")
Cc: stable <stable@kernel.org>
Signed-off-by: Chris Wulff <chris.wulff@biamp.com>
Link: https://lore.kernel.org/r/CO1PR17MB5419BD664264A558B2395E28E1112@CO1PR17MB5419.namprd17.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-19 11:32:48 +01:00
..
f_accessory.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_acm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_audio_source.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_conn_gadget.c Fix clang 16 errors treewide 2024-06-15 16:28:48 -03:00
f_conn_gadget.ioctl.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_dm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_dm1.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_ecm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_eem.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_fs.c usb: gadget: f_fs: Fix a race condition when processing setup packets. 2024-11-19 11:32:48 +01:00
f_hid.c usb: gadget: f_hid: fix report descriptor allocation 2024-11-18 12:11:45 +01:00
f_loopback.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_mass_storage.c usb: f_mass_storage: forbid async queue when shutdown happen 2024-11-18 12:13:29 +01:00
f_mass_storage.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_midi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_ncm.c usb: gadget: ncm: Fix handling of zero block length packets 2024-11-19 09:22:39 +01:00
f_obex.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_phonet.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_printer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_rndis.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_serial.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_sourcesink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_ss_mon_gadget.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_subset.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_tcm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_uac1.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_uac1_legacy.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_uac2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_uts.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_uvc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
f_uvc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
g_zero.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ndis.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rndis.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rndis.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
storage_common.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
storage_common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tcm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_audio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_audio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_ecm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_eem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_ether.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_ether.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_ether_configfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_fs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_gether.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_hid.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_midi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_ncm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_phonet.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_printer.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_rndis.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_serial.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_serial.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_tcm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_uac1.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_uac1_legacy.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_uac1_legacy.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_uac2.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
u_uvc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uac_common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_configfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_configfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_queue.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_queue.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_v4l2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_v4l2.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_video.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc_video.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00