kernel-janitors.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event()
@ 2024-04-15 20:26 Christophe JAILLET
  2024-04-15 23:02 ` Jeff Johnson
  2024-04-18 15:20 ` Kalle Valo
  0 siblings, 2 replies; 3+ messages in thread
From: Christophe JAILLET @ 2024-04-15 20:26 UTC (permalink / raw)
  To: Kalle Valo, Jeff Johnson, Kang Yang
  Cc: linux-kernel, kernel-janitors, Christophe JAILLET, Jeff Johnson,
	Kalle Valo, linux-wireless, ath11k

if (noa_descriptors > WMI_P2P_MAX_NOA_DESCRIPTORS), there is a mix of
return and goto. In such a case, 'td' should be freed to avoid a memory
leak.

While at it, change ath11k_wmi_p2p_noa_event() to return void.
'0' was returned in all cases, even in case of error and the only caller
does not handle the return value.
This is also more consistent with most of functions called from
ath11k_wmi_tlv_op_rx().

Fixes: 2408379f15a1 ("wifi: ath11k: implement handling of P2P NoA event")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Changes in V2
   - Change ath11k_wmi_p2p_noa_event() to return void.   [Jeff Johnson]
   - Update commit message accordingly

V1: https://lore.kernel.org/all/6ee80f65f736db1646f6f201f60816cf35b6f3fe.1713180046.git.christophe.jaillet@wanadoo.fr/
---
 drivers/net/wireless/ath/ath11k/wmi.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index c74aa3f95658..e9ae305a8a61 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -8650,30 +8650,27 @@ static void ath11k_wmi_gtk_offload_status_event(struct ath11k_base *ab,
 	kfree(tb);
 }
 
-static int ath11k_wmi_p2p_noa_event(struct ath11k_base *ab,
-				    struct sk_buff *skb)
+static void ath11k_wmi_p2p_noa_event(struct ath11k_base *ab,
+				     struct sk_buff *skb)
 {
 	const void **tb;
 	const struct wmi_p2p_noa_event *ev;
 	const struct ath11k_wmi_p2p_noa_info *noa;
 	struct ath11k *ar;
-	int ret, vdev_id;
+	int vdev_id;
 	u8 noa_descriptors;
 
 	tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
 	if (IS_ERR(tb)) {
-		ret = PTR_ERR(tb);
-		ath11k_warn(ab, "failed to parse tlv: %d\n", ret);
-		return ret;
+		ath11k_warn(ab, "failed to parse tlv: %ld\n", PTR_ERR(tb));
+		return;
 	}
 
 	ev = tb[WMI_TAG_P2P_NOA_EVENT];
 	noa = tb[WMI_TAG_P2P_NOA_INFO];
 
-	if (!ev || !noa) {
-		ret = -EPROTO;
+	if (!ev || !noa)
 		goto out;
-	}
 
 	vdev_id = ev->vdev_id;
 	noa_descriptors = u32_get_bits(noa->noa_attr,
@@ -8682,7 +8679,6 @@ static int ath11k_wmi_p2p_noa_event(struct ath11k_base *ab,
 	if (noa_descriptors > WMI_P2P_MAX_NOA_DESCRIPTORS) {
 		ath11k_warn(ab, "invalid descriptor num %d in P2P NoA event\n",
 			    noa_descriptors);
-		return -EINVAL;
 		goto out;
 	}
 
@@ -8695,7 +8691,6 @@ static int ath11k_wmi_p2p_noa_event(struct ath11k_base *ab,
 	if (!ar) {
 		ath11k_warn(ab, "invalid vdev id %d in P2P NoA event\n",
 			    vdev_id);
-		ret = -EINVAL;
 		goto unlock;
 	}
 
@@ -8705,7 +8700,6 @@ static int ath11k_wmi_p2p_noa_event(struct ath11k_base *ab,
 	rcu_read_unlock();
 out:
 	kfree(tb);
-	return 0;
 }
 
 static void ath11k_wmi_tlv_op_rx(struct ath11k_base *ab, struct sk_buff *skb)
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event()
  2024-04-15 20:26 [PATCH v2] wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event() Christophe JAILLET
@ 2024-04-15 23:02 ` Jeff Johnson
  2024-04-18 15:20 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Jeff Johnson @ 2024-04-15 23:02 UTC (permalink / raw)
  To: Christophe JAILLET, Kalle Valo, Jeff Johnson, Kang Yang
  Cc: linux-kernel, kernel-janitors, Kalle Valo, linux-wireless, ath11k

On 4/15/2024 1:26 PM, Christophe JAILLET wrote:
> if (noa_descriptors > WMI_P2P_MAX_NOA_DESCRIPTORS), there is a mix of
> return and goto. In such a case, 'td' should be freed to avoid a memory
> leak.
> 
> While at it, change ath11k_wmi_p2p_noa_event() to return void.
> '0' was returned in all cases, even in case of error and the only caller
> does not handle the return value.
> This is also more consistent with most of functions called from
> ath11k_wmi_tlv_op_rx().
> 
> Fixes: 2408379f15a1 ("wifi: ath11k: implement handling of P2P NoA event")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event()
  2024-04-15 20:26 [PATCH v2] wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event() Christophe JAILLET
  2024-04-15 23:02 ` Jeff Johnson
@ 2024-04-18 15:20 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Kalle Valo @ 2024-04-18 15:20 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: Jeff Johnson, Kang Yang, linux-kernel, kernel-janitors,
	Christophe JAILLET, Jeff Johnson, Kalle Valo, linux-wireless,
	ath11k

Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:

> if (noa_descriptors > WMI_P2P_MAX_NOA_DESCRIPTORS), there is a mix of
> return and goto. In such a case, 'td' should be freed to avoid a memory
> leak.
> 
> While at it, change ath11k_wmi_p2p_noa_event() to return void.
> '0' was returned in all cases, even in case of error and the only caller
> does not handle the return value.
> This is also more consistent with most of functions called from
> ath11k_wmi_tlv_op_rx().
> 
> Fixes: 2408379f15a1 ("wifi: ath11k: implement handling of P2P NoA event")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to ath-next branch of ath.git, thanks.

6ef5b4c9598c wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event()

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/07f1fc75b2d5b4173ae1b7bb1da5be7f6fc608c8.1713212781.git.christophe.jaillet@wanadoo.fr/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-04-18 15:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-15 20:26 [PATCH v2] wifi: ath11k: Fix error handling in ath11k_wmi_p2p_noa_event() Christophe JAILLET
2024-04-15 23:02 ` Jeff Johnson
2024-04-18 15:20 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).