Message ID | 20191004195315.21168-1-navid.emamdoost@gmail.com |
---|---|
State | Awaiting Upstream |
Delegated to: | David Miller |
Headers | show |
Series | rtlwifi: fix memory leak in rtl_usb_probe | expand |
> In rtl_usb_probe, a new hw is allocated via ieee80211_alloc_hw(). This > allocation should be released in case of allocation failure for > rtlpriv->usb_data. > > Fixes: a7959c1394d4 ("rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine") Which event did trigger the sending of this patch variant after a similar change was integrated already? https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=3f93616951138a598d930dcaec40f2bfd9ce43bb https://lore.kernel.org/lkml/20191001092047.71E8460A30@smtp.codeaurora.org/ https://lore.kernel.org/patchwork/comment/1331936/ Regards, Markus
Oh! It's duplicate, thanks for catching that. On Sat, Oct 5, 2019 at 11:08 AM Markus Elfring <Markus.Elfring@web.de> wrote: > > > In rtl_usb_probe, a new hw is allocated via ieee80211_alloc_hw(). This > > allocation should be released in case of allocation failure for > > rtlpriv->usb_data. > > > > Fixes: a7959c1394d4 ("rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine") > > Which event did trigger the sending of this patch variant > after a similar change was integrated already? > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=3f93616951138a598d930dcaec40f2bfd9ce43bb > https://lore.kernel.org/lkml/20191001092047.71E8460A30@smtp.codeaurora.org/ > https://lore.kernel.org/patchwork/comment/1331936/ > > Regards, > Markus
diff --git a/drivers/net/wireless/realtek/rtlwifi/usb.c b/drivers/net/wireless/realtek/rtlwifi/usb.c index 4b59f3b46b28..265f95261da8 100644 --- a/drivers/net/wireless/realtek/rtlwifi/usb.c +++ b/drivers/net/wireless/realtek/rtlwifi/usb.c @@ -1021,8 +1021,10 @@ int rtl_usb_probe(struct usb_interface *intf, rtlpriv->hw = hw; rtlpriv->usb_data = kcalloc(RTL_USB_MAX_RX_COUNT, sizeof(u32), GFP_KERNEL); - if (!rtlpriv->usb_data) + if (!rtlpriv->usb_data) { + ieee80211_free_hw(hw); return -ENOMEM; + } /* this spin lock must be initialized early */ spin_lock_init(&rtlpriv->locks.usb_lock);
In rtl_usb_probe, a new hw is allocated via ieee80211_alloc_hw(). This allocation should be released in case of allocation failure for rtlpriv->usb_data. Fixes: a7959c1394d4 ("rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine") Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> --- drivers/net/wireless/realtek/rtlwifi/usb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)