Messages in this thread | | | From | Kalle Valo <> | Subject | Re: [PATCH v2] ath10k: Fix the parsing error in service available event | Date | Fri, 06 Nov 2020 09:25:37 +0200 |
| |
Doug Anderson <dianders@chromium.org> writes:
>> static int ath10k_wmi_tlv_op_pull_svc_avail(struct ath10k *ar, >> diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c >> index 1fa7107..2e4b561 100644 >> --- a/drivers/net/wireless/ath/ath10k/wmi.c >> +++ b/drivers/net/wireless/ath/ath10k/wmi.c >> @@ -5751,8 +5751,9 @@ void ath10k_wmi_event_service_available(struct ath10k *ar, struct sk_buff *skb) >> ret); >> } >> >> - ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map, >> - __le32_to_cpu(arg.service_map_ext_len)); >> + if (arg.service_map_ext_valid) >> + ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map, >> + __le32_to_cpu(arg.service_map_ext_len)); > > Your new patch still requires the caller to init the > "service_map_ext_valid" to false before calling, but I guess there's > not a whole lot more we can do because we might be parsing more than > one tag. It does seem nice that at least we now have a validity bit > instead of just relying on a non-zero length to be valid. > > It might be nice to have a comment saying that it's up to us to init > "arg.service_map_ext_valid" to false before calling > ath10k_wmi_pull_svc_avail(), but I won't insist. Maybe that's obvious > to everyone but me...
It's not obvious to me either. Please add that comment.
BTW, for some reason Doug's response didn't get to patchwork:
https://patchwork.kernel.org/project/linux-wireless/patch/1603904469-598-1-git-send-email-pillair@codeaurora.org/
Though I do see it in linux-wireless, so most likely this was a temporary glitch in patchwork. But it's just worrisome as nowadays I only check the comments in patchwork before I apply the patch.
-- https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
| |