All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pkshih <pkshih@realtek.com>
To: Larry Finger <Larry.Finger@lwfinger.net>,
	"kvalo@codeaurora.org" <kvalo@codeaurora.org>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Stable <stable@vger.kernel.org>
Subject: RE: [PATCH v2] rtw88: Fix some memory leaks
Date: Mon, 21 Jun 2021 10:40:01 +0000	[thread overview]
Message-ID: <19c86cb8dbe04b56b76a386b5faeaa89@realtek.com> (raw)
In-Reply-To: <20210620194110.7520-1-Larry.Finger@lwfinger.net>



> -----Original Message-----
> From: Larry Finger [mailto:larry.finger@gmail.com] On Behalf Of Larry Finger
> Sent: Monday, June 21, 2021 3:41 AM
> To: kvalo@codeaurora.org
> Cc: linux-wireless@vger.kernel.org; Larry Finger; Stable
> Subject: [PATCH v2] rtw88: Fix some memory leaks
> 
> There are memory leaks of skb's from routines rtw_fw_c2h_cmd_rx_irqsafe()
> and rtw_coex_info_response(), both arising from C2H operations. There are
> no leaks from the buffers sent to mac80211.
> 
> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
> Cc: Stable <stable@vger.kernel.org>
> ---
> v2 - add the missinf changelog.
> 
> ---
>  drivers/net/wireless/realtek/rtw88/coex.c | 4 +++-
>  drivers/net/wireless/realtek/rtw88/fw.c   | 2 ++
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtw88/coex.c b/drivers/net/wireless/realtek/rtw88/coex.c
> index cedbf3825848..e81bf5070183 100644
> --- a/drivers/net/wireless/realtek/rtw88/coex.c
> +++ b/drivers/net/wireless/realtek/rtw88/coex.c
> @@ -591,8 +591,10 @@ void rtw_coex_info_response(struct rtw_dev *rtwdev, struct sk_buff *skb)
>  	struct rtw_coex *coex = &rtwdev->coex;
>  	u8 *payload = get_payload_from_coex_resp(skb);
> 
> -	if (payload[0] != COEX_RESP_ACK_BY_WL_FW)
> +	if (payload[0] != COEX_RESP_ACK_BY_WL_FW) {
> +		dev_kfree_skb_any(skb);
>  		return;
> +	}
> 
>  	skb_queue_tail(&coex->queue, skb);
>  	wake_up(&coex->wait);
> diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
> index 797b08b2a494..43525ad8543f 100644
> --- a/drivers/net/wireless/realtek/rtw88/fw.c
> +++ b/drivers/net/wireless/realtek/rtw88/fw.c
> @@ -231,9 +231,11 @@ void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset,
>  	switch (c2h->id) {
>  	case C2H_BT_MP_INFO:
>  		rtw_coex_info_response(rtwdev, skb);
> +		dev_kfree_skb_any(skb);

The rtw_coex_info_response() puts skb into a skb_queue, so we can't free it here.
Instead, we should free it after we dequeue and do thing. 
So, we send another patch: 
https://lore.kernel.org/linux-wireless/20210621103023.41928-1-pkshih@realtek.com/T/#u

I hope this isn't confusing you.


>  		break;
>  	case C2H_WLAN_RFON:
>  		complete(&rtwdev->lps_leave_check);
> +		dev_kfree_skb_any(skb);
>  		break;
>  	default:
>  		/* pass offset for further operation */
> --
> 2.32.0

--
Ping-Ke


  reply	other threads:[~2021-06-21 10:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-20 19:41 [PATCH v2] rtw88: Fix some memory leaks Larry Finger
2021-06-21 10:40 ` Pkshih [this message]
2021-06-21 15:52   ` Larry Finger
2021-06-22  6:26     ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19c86cb8dbe04b56b76a386b5faeaa89@realtek.com \
    --to=pkshih@realtek.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.