android_kernel_oneplus_msm8998/drivers/usb/gadget/function
Hemant Kumar 23db5b808c usb: gadget: Fix double free of device descriptor pointers
Upon driver unbind usb_free_all_descriptors() function frees all
speed descriptor pointers without setting them to NULL. In case
gadget speed changes (i.e from super speed plus to super speed)
after driver unbind only upto super speed descriptor pointers get
populated. Super speed plus desc still holds the stale (already
freed) pointer. As a result next composition switch results into
double free of super speed plus descriptor. Fix this issue by
setting all descriptor pointers to NULL after freeing them in
usb_free_all_descriptors(). Also clean up gsi_unbind() which is
setting up descriptor pointers to NULL already.

Change-Id: I4f28294c165bb3b5dc9feb4f22d819f527ad4d50
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
2018-12-04 21:38:53 -08:00
..
f_accessory.c USB: f_accessory: Check dev pointer before decoding ctrl request 2018-04-10 02:53:48 -07:00
f_acm.c Merge branch 'android-4.4@c71ad0f' into branch 'msm-4.4' 2017-04-20 15:19:15 -07:00
f_audio_source.c f_audio_source: Implement get_alt() support 2018-02-26 02:38:50 -08:00
f_ccid.c USB: CCID: Select TPDU level exchanges for CCID communication 2017-12-04 20:48:05 -08:00
f_ccid.h usb: gadget: ccid: Fix data types of header structures 2017-03-20 17:04:37 +05:30
f_cdev.c usb: gadget: f_cdev: Send zero length packets in modem data calls 2018-06-13 02:02:42 -07:00
f_diag.c usb: diag: Set interface protocol to represent diag 2017-02-03 22:41:03 -08:00
f_ecm.c
f_eem.c
f_fs.c Merge android-4.4.145 (05670d3) into msm-4.4 2018-08-03 17:06:33 +05:30
f_gsi.c usb: gadget: Fix double free of device descriptor pointers 2018-12-04 21:38:53 -08:00
f_gsi.h usb: f_gsi: Use required RNDIS IAD descriptors with full speed descriptors 2018-01-02 02:46:14 -08:00
f_hid.c usb: gadget: f_hid: fix: Prevent accessing released memory 2018-04-08 11:51:56 +02:00
f_loopback.c
f_mass_storage.c Merge android-4.4@73a2b70 (v4.4.92) into msm-4.4 2017-10-20 02:11:57 -07:00
f_mass_storage.h USB: g_mass_storage: Fix deadlock when driver is unbound 2017-10-12 11:27:32 +02:00
f_mbim.c Merge "USB: gadget: mbim: Avoid copying uninitialized data to userspace" 2017-01-18 05:31:20 -08:00
f_midi.c Merge android-4.4.127 (d6bbe8b) into msm-4.4 2018-04-20 12:27:57 +05:30
f_mtp.c Merge branch 'android-4.4@9bc4622' into branch 'msm-4.4' 2017-06-07 09:31:32 -07:00
f_mtp.h
f_ncm.c usb: gadget: Add check gadget function bind or not 2017-10-24 13:19:10 +08:00
f_obex.c
f_phonet.c
f_printer.c
f_ptp.c
f_qc_ecm.c USB: gadget: Replace %pK with %pM 2017-02-14 14:28:50 +05:30
f_qc_rndis.c f_qc_rndis: Call rndis_ipa_init() from rndis_qc_bind() 2018-09-06 23:12:54 -07:00
f_qdss.c usb: Use DECLARE_USB_FUNCTION() for initializing USB QDSS function driver 2018-05-24 17:02:00 -07:00
f_qdss.h usb: gadget: f_qdss: Add support for mdm qdss channel 2017-07-17 15:39:54 -07:00
f_rmnet.c
f_rndis.c usb: f_rndis: Fix rndis message parsing of erroneous requests 2017-08-02 10:41:12 +05:30
f_serial.c
f_sourcesink.c usb: gadget: define free_ep_req as universal function 2018-04-08 11:51:56 +02:00
f_subset.c
f_uac1.c
f_uac2.c usb: gadget: f_uac2: fix bFirstInterface in composite gadget 2018-05-30 07:48:58 +02:00
f_uvc.c usb: gadget: f_uvc: Sanity check wMaxPacketSize for SuperSpeed 2017-12-25 14:22:10 +01:00
f_uvc.h
g_zero.h usb: gadget: define free_ep_req as universal function 2018-04-08 11:51:56 +02:00
Makefile f_qc_rndis: Compile rndis.c if CONFIG_USB_F_QCRNDIS is enabled 2017-03-22 13:29:06 +05:30
ndis.h
rndis.c USB: qc_rndis: Fix aggregation parameters settings issue 2017-02-09 17:00:43 +05:30
rndis.h
storage_common.c
storage_common.h
u_bam.c
u_bam_data.c
u_bam_data.h
u_ctrl_qti.c Merge "USB: u_ctrl_qti: Remove redundant check in qti_ctrl_write()" 2017-01-20 13:48:30 -08:00
u_data_ipa.c USB: u_data_ipa: Fix the issue that may return uninitialized value 2017-03-21 11:28:25 +08:00
u_data_ipa.h
u_ecm.h
u_eem.h
u_ether.c USB: gadget: Replace %pM with %pm 2018-02-13 15:32:14 +05:30
u_ether.h
u_ether_configfs.h usb: gadget: Add check gadget function bind or not 2017-10-24 13:19:10 +08:00
u_fs.h
u_gether.h
u_hid.h
u_midi.h
u_ncm.h
u_phonet.h
u_printer.h
u_qc_ether.c USB: gadget: Replace %pK with %pM 2017-02-14 14:28:50 +05:30
u_qc_ether.h
u_qdss.c USB: qdss: Fix NULL pointer deference issue during QDSS transfers 2017-03-23 10:19:50 +05:30
u_rmnet.h
u_rndis.h
u_serial.c
u_serial.h
u_uac1.c
u_uac1.h
u_uac2.h
u_uvc.h
uvc.h
uvc_configfs.c usb: gadget: uvc: Missing files for configfs interface 2018-02-16 20:09:40 +01:00
uvc_configfs.h
uvc_queue.c
uvc_queue.h
uvc_v4l2.c
uvc_v4l2.h
uvc_video.c usb: gadget: composite: always set ep->mult to a sensible value 2017-01-12 11:22:51 +01:00
uvc_video.h