mirror of https://gitee.com/openkylin/linux.git
7ae2c3c280
The error-handling pathways in usb_add_gadget_udc_release() are messed up. Aside from the uninformative statement labels, they can deallocate the udc structure after calling put_device(), which is a double-free. This was observed by KASAN in automatic testing. This patch cleans up the routine. It preserves the requirement that when any failure occurs, we call put_device(&gadget->dev). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Reported-by: Fengguang Wu <fengguang.wu@intel.com> CC: <stable@vger.kernel.org> Reviewed-by: Peter Chen <peter.chen@nxp.com> Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
function | ||
legacy | ||
udc | ||
Kconfig | ||
Makefile | ||
composite.c | ||
config.c | ||
configfs.c | ||
configfs.h | ||
epautoconf.c | ||
functions.c | ||
u_f.c | ||
u_f.h | ||
u_os_desc.h | ||
usbstring.c |