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 |
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
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
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 --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);
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(-)