Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1735074
| From | Douglas Anderson <dianders@chromium.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [RFC PATCH 3/3] usbnet: Fix memory leak when rx_submit() fails |
| Date | 2017-09-19 18:20 +0200 |
| Message-ID | <urtpE-7FJ-41@gated-at.bofh.it> (permalink) |
| References | <urtpD-7FJ-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
If rx_submit() returns an error code then nobody calls usb_free_urb().
That means it's leaked.
NOTE: This problem was found solely by code inspection and not due to
any failing test cases.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---
drivers/net/usb/usbnet.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index e72547d8d0e6..4c067aaeea5a 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1182,9 +1182,12 @@ usbnet_deferred_kevent (struct work_struct *work)
usb_free_urb(urb);
goto fail_lowmem;
}
- if (rx_submit (dev, urb, GFP_KERNEL) ==
- -ENOLINK)
- resched = 0;
+ status = rx_submit (dev, urb, GFP_KERNEL);
+ if (status) {
+ usb_free_urb(urb);
+ if (status == -ENOLINK)
+ resched = 0;
+ }
usb_autopm_put_interface(dev->intf);
fail_lowmem:
if (resched)
--
2.14.1.690.gbb1197296e-goog
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RFC PATCH 1/3] usbnet: Get rid of spammy usbnet "kevent X may have been dropped" Douglas Anderson <dianders@chromium.org> - 2017-09-19 18:20 +0200
[RFC PATCH 2/3] usbnet: Avoid potential races in usbnet_deferred_kevent() Douglas Anderson <dianders@chromium.org> - 2017-09-19 18:20 +0200
Re: [RFC PATCH 2/3] usbnet: Avoid potential races in usbnet_deferred_kevent() Oliver Neukum <oneukum@suse.com> - 2017-09-19 22:50 +0200
Re: [RFC PATCH 2/3] usbnet: Avoid potential races in usbnet_deferred_kevent() Doug Anderson <dianders@chromium.org> - 2017-09-19 23:00 +0200
Re: [RFC PATCH 2/3] usbnet: Avoid potential races in usbnet_deferred_kevent() Oliver Neukum <oneukum@suse.com> - 2017-09-20 10:30 +0200
Re: [RFC PATCH 2/3] usbnet: Avoid potential races in usbnet_deferred_kevent() Guenter Roeck <groeck@google.com> - 2017-09-19 23:00 +0200
Re: [RFC PATCH 2/3] usbnet: Avoid potential races in usbnet_deferred_kevent() Oliver Neukum <oneukum@suse.com> - 2017-09-20 10:30 +0200
[RFC PATCH 3/3] usbnet: Fix memory leak when rx_submit() fails Douglas Anderson <dianders@chromium.org> - 2017-09-19 18:20 +0200
Re: [RFC PATCH 3/3] usbnet: Fix memory leak when rx_submit() fails Bjørn Mork <bjorn@mork.no> - 2017-09-19 19:50 +0200
Re: [RFC PATCH 1/3] usbnet: Get rid of spammy usbnet "kevent X may have been dropped" Guenter Roeck <groeck@google.com> - 2017-09-19 18:50 +0200
Re: [RFC PATCH 1/3] usbnet: Get rid of spammy usbnet "kevent X may have been dropped" Bjørn Mork <bjorn@mork.no> - 2017-09-19 19:50 +0200
Re: [RFC PATCH 1/3] usbnet: Get rid of spammy usbnet "kevent X may have been dropped" Oliver Neukum <oneukum@suse.com> - 2017-09-19 22:40 +0200
csiph-web