diff mbox series

ath11k: do not return random value

Message ID 20220404105324.13810-1-straube.linux@gmail.com (mailing list archive)
State Superseded
Delegated to: Kalle Valo
Headers show
Series ath11k: do not return random value | expand

Commit Message

Michael Straube April 4, 2022, 10:53 a.m. UTC
Function ath11k_qmi_assign_target_mem_chunk() returns a random value
if of_parse_phandle() fails because the return variable ret is not
initialized before calling of_parse_phandle(). Return -EINVAL to avoid
possibly returning 0, which would be wrong here.

Issue found by smatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
 drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Robert Marko April 4, 2022, 4:35 p.m. UTC | #1
On Mon, Apr 4, 2022 at 12:54 PM Michael Straube <straube.linux@gmail.com> wrote:
>
> Function ath11k_qmi_assign_target_mem_chunk() returns a random value
> if of_parse_phandle() fails because the return variable ret is not
> initialized before calling of_parse_phandle(). Return -EINVAL to avoid
> possibly returning 0, which would be wrong here.
>
> Issue found by smatch.
>
> Signed-off-by: Michael Straube <straube.linux@gmail.com>
> ---
>  drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
> index 65d3c6ba35ae..81b2304b1fde 100644
> --- a/drivers/net/wireless/ath/ath11k/qmi.c
> +++ b/drivers/net/wireless/ath/ath11k/qmi.c
> @@ -1932,7 +1932,7 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
>                         if (!hremote_node) {
>                                 ath11k_dbg(ab, ATH11K_DBG_QMI,
>                                            "qmi fail to get hremote_node\n");
> -                               return ret;
> +                               return -EINVAL;
>                         }
>
>                         ret = of_address_to_resource(hremote_node, 0, &res);
> --
> 2.35.1

Hi Michael,
This is already solved in ath-next and 5.18-rc1:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/ath/ath11k/qmi.c?h=v5.18-rc1&id=c9b41832dc080fa59bad597de94865b3ea2d5bab

Regards,
Robert
>
>
> --
> ath11k mailing list
> ath11k@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/ath11k
Michael Straube April 4, 2022, 4:45 p.m. UTC | #2
On 4/4/22 18:35, Robert Marko wrote:
> On Mon, Apr 4, 2022 at 12:54 PM Michael Straube <straube.linux@gmail.com> wrote:
>>
>> Function ath11k_qmi_assign_target_mem_chunk() returns a random value
>> if of_parse_phandle() fails because the return variable ret is not
>> initialized before calling of_parse_phandle(). Return -EINVAL to avoid
>> possibly returning 0, which would be wrong here.
>>
>> Issue found by smatch.
>>
>> Signed-off-by: Michael Straube <straube.linux@gmail.com>
>> ---
>>   drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
>> index 65d3c6ba35ae..81b2304b1fde 100644
>> --- a/drivers/net/wireless/ath/ath11k/qmi.c
>> +++ b/drivers/net/wireless/ath/ath11k/qmi.c
>> @@ -1932,7 +1932,7 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
>>                          if (!hremote_node) {
>>                                  ath11k_dbg(ab, ATH11K_DBG_QMI,
>>                                             "qmi fail to get hremote_node\n");
>> -                               return ret;
>> +                               return -EINVAL;
>>                          }
>>
>>                          ret = of_address_to_resource(hremote_node, 0, &res);
>> --
>> 2.35.1
> 
> Hi Michael,
> This is already solved in ath-next and 5.18-rc1:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/ath/ath11k/qmi.c?h=v5.18-rc1&id=c9b41832dc080fa59bad597de94865b3ea2d5bab
> 

Hi Robert,

Ah ok, then I worked with the wrong tree (wireless-drivers-next).
Sorry for the noise.

regards,
Michael
Kalle Valo April 4, 2022, 4:51 p.m. UTC | #3
Michael Straube <straube.linux@gmail.com> writes:

> On 4/4/22 18:35, Robert Marko wrote:
>> On Mon, Apr 4, 2022 at 12:54 PM Michael Straube <straube.linux@gmail.com> wrote:
>>>
>>> Function ath11k_qmi_assign_target_mem_chunk() returns a random value
>>> if of_parse_phandle() fails because the return variable ret is not
>>> initialized before calling of_parse_phandle(). Return -EINVAL to avoid
>>> possibly returning 0, which would be wrong here.
>>>
>>> Issue found by smatch.
>>>
>>> Signed-off-by: Michael Straube <straube.linux@gmail.com>
>>> ---
>>>   drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
>>> index 65d3c6ba35ae..81b2304b1fde 100644
>>> --- a/drivers/net/wireless/ath/ath11k/qmi.c
>>> +++ b/drivers/net/wireless/ath/ath11k/qmi.c
>>> @@ -1932,7 +1932,7 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
>>>                          if (!hremote_node) {
>>>                                  ath11k_dbg(ab, ATH11K_DBG_QMI,
>>>                                             "qmi fail to get hremote_node\n");
>>> -                               return ret;
>>> +                               return -EINVAL;
>>>                          }
>>>
>>>                          ret = of_address_to_resource(hremote_node, 0, &res);
>>> --
>>> 2.35.1
>>
>> Hi Michael,
>> This is already solved in ath-next and 5.18-rc1:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/ath/ath11k/qmi.c?h=v5.18-rc1&id=c9b41832dc080fa59bad597de94865b3ea2d5bab
>>
>
> Hi Robert,
>
> Ah ok, then I worked with the wrong tree (wireless-drivers-next).
> Sorry for the noise.

wireless-drivers[-next] and mac80211[-next] trees are not in use
anymore, we switched to using a common wireless and wireless-next trees:

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git/

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
index 65d3c6ba35ae..81b2304b1fde 100644
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -1932,7 +1932,7 @@  static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
 			if (!hremote_node) {
 				ath11k_dbg(ab, ATH11K_DBG_QMI,
 					   "qmi fail to get hremote_node\n");
-				return ret;
+				return -EINVAL;
 			}
 
 			ret = of_address_to_resource(hremote_node, 0, &res);