patch "USB: serial: fix memleak in driver-registration error path" added to usb-linus
Subsystems (3)
This is a note to let you know that I've just added the patch titled
USB: serial: fix memleak in driver-registration error path
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
Quoted 1 line
From
647024a7df36014bbc4479d92d88e6b77c0afcf6Mon Sep 17 00:00:00 2001
From: Alexey Klimov <[email protected]>
Date: Mon, 8 Aug 2016 02:34:46 +0100
Subject: USB: serial: fix memleak in driver-registration error path
udriver struct allocated by kzalloc() will not be freed if usb_register() and next calls fail. This patch fixes this by adding one more step with kfree(udriver) in error path.
--- drivers/usb/serial/usb-serial.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/usb/serial/usb-serial.c +3 -1
@@ -1433,7 +1433,7 @@ int usb_serial_register_drivers(struct usb_serial_driver *const serial_drivers[] rc =usb_register (udriver);if (rc) -return rc; + goto failed_usb_register;for (sd = serial_drivers; *sd; ++sd) { (*sd)->usb_driver = udriver;
@@ -1451,6 +1451,8 @@ int usb_serial_register_drivers(struct usb_serial_driver *const serial_drivers[]while (sd-- > serial_drivers)usb_serial_deregister (*sd);usb_deregister (udriver); +failed_usb_register: +kfree (udriver);return rc; }EXPORT_SYMBOL_GPL (usb_serial_register_drivers);
Signature · 1 line
2.9.2