mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
1c2e54fbf1
For userspace functions using OS Descriptors, if a function also supplies
Extended Property descriptors currently the counts and lengths stored in
the ms_os_descs_ext_prop_{count,name_len,data_len} variables are not
getting reset to 0 during an unbind or when the epfiles are closed. If
the same function is re-bound and the descriptors are re-written, this
results in those count/length variables to monotonically increase
causing the VLA allocation in _ffs_func_bind() to grow larger and larger
at each bind/unbind cycle and eventually fail to allocate.
Fix this by clearing the ms_os_descs_ext_prop count & lengths to 0 in
ffs_data_reset().
Fixes:
|
||
---|---|---|
.. | ||
f_acm.c | ||
f_ecm.c | ||
f_eem.c | ||
f_fs.c | ||
f_hid.c | ||
f_loopback.c | ||
f_mass_storage.c | ||
f_mass_storage.h | ||
f_midi.c | ||
f_ncm.c | ||
f_obex.c | ||
f_phonet.c | ||
f_printer.c | ||
f_rndis.c | ||
f_serial.c | ||
f_sourcesink.c | ||
f_subset.c | ||
f_tcm.c | ||
f_uac1_legacy.c | ||
f_uac1.c | ||
f_uac2.c | ||
f_uvc.c | ||
f_uvc.h | ||
g_zero.h | ||
Makefile | ||
ndis.h | ||
rndis.c | ||
rndis.h | ||
storage_common.c | ||
storage_common.h | ||
tcm.h | ||
u_audio.c | ||
u_audio.h | ||
u_ecm.h | ||
u_eem.h | ||
u_ether_configfs.h | ||
u_ether.c | ||
u_ether.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_legacy.c | ||
u_uac1_legacy.h | ||
u_uac1.h | ||
u_uac2.h | ||
u_uvc.h | ||
uvc_configfs.c | ||
uvc_configfs.h | ||
uvc_queue.c | ||
uvc_queue.h | ||
uvc_v4l2.c | ||
uvc_v4l2.h | ||
uvc_video.c | ||
uvc_video.h | ||
uvc.h |