From: Colin Ian King <[email protected]>
The return value ret is unitialized and garbage is being returned
for the three different error conditions when setting up the PCIe
BARs. Fix this by initializing ret to -ENOMEM to indicate that
the BARs failed to be setup correctly.
Detected by CoverityScan, CID#1437563 ("Unitialized scalar variable")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
index f93b27f3a236..7fc4f0d6a9ad 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
@@ -247,7 +247,7 @@ static void qtnf_pcie_free_shm_ipc(struct qtnf_pcie_bus_priv *priv)
static int qtnf_pcie_init_memory(struct qtnf_pcie_bus_priv *priv)
{
- int ret;
+ int ret = -ENOMEM;
priv->sysctl_bar = qtnf_map_bar(priv, QTN_SYSCTL_BAR);
if (IS_ERR_OR_NULL(priv->sysctl_bar)) {
--
2.11.0
> The return value ret is unitialized and garbage is being returned
> for the three different error conditions when setting up the PCIe
> BARs. Fix this by initializing ret to -ENOMEM to indicate that
> the BARs failed to be setup correctly.
>
> Detected by CoverityScan, CID#1437563 ("Unitialized scalar variable")
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
> index f93b27f3a236..7fc4f0d6a9ad 100644
> --- a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
> +++ b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
> @@ -247,7 +247,7 @@ static void qtnf_pcie_free_shm_ipc(struct qtnf_pcie_bus_priv *priv)
>
> static int qtnf_pcie_init_memory(struct qtnf_pcie_bus_priv *priv)
> {
> - int ret;
> + int ret = -ENOMEM;
>
> priv->sysctl_bar = qtnf_map_bar(priv, QTN_SYSCTL_BAR);
> if (IS_ERR_OR_NULL(priv->sysctl_bar)) {
> --
Thanks !
Reviewed-by: Sergey Matyukevich <[email protected]>
By the way, could you please use the recepient list suggested by
get_maintainer.pl script from the kernel scripts directory.
Regards,
Sergey
On 21/06/17 14:54, Sergey Matyukevich wrote:
>> The return value ret is unitialized and garbage is being returned
>> for the three different error conditions when setting up the PCIe
>> BARs. Fix this by initializing ret to -ENOMEM to indicate that
>> the BARs failed to be setup correctly.
>>
>> Detected by CoverityScan, CID#1437563 ("Unitialized scalar variable")
>>
>> Signed-off-by: Colin Ian King <[email protected]>
>> ---
>> drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
>> index f93b27f3a236..7fc4f0d6a9ad 100644
>> --- a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
>> +++ b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
>> @@ -247,7 +247,7 @@ static void qtnf_pcie_free_shm_ipc(struct qtnf_pcie_bus_priv *priv)
>>
>> static int qtnf_pcie_init_memory(struct qtnf_pcie_bus_priv *priv)
>> {
>> - int ret;
>> + int ret = -ENOMEM;
>>
>> priv->sysctl_bar = qtnf_map_bar(priv, QTN_SYSCTL_BAR);
>> if (IS_ERR_OR_NULL(priv->sysctl_bar)) {
>> --
>
> Thanks !
>
> Reviewed-by: Sergey Matyukevich <[email protected]>
>
> By the way, could you please use the recepient list suggested by
> get_maintainer.pl script from the kernel scripts directory.
Yep, I did.
>
> Regards,
> Sergey
>
On Wed, Jun 21, 2017 at 02:25:30PM +0100, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The return value ret is unitialized and garbage is being returned
> for the three different error conditions when setting up the PCIe
> BARs. Fix this by initializing ret to -ENOMEM to indicate that
> the BARs failed to be setup correctly.
>
> Detected by CoverityScan, CID#1437563 ("Unitialized scalar variable")
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
> index f93b27f3a236..7fc4f0d6a9ad 100644
> --- a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
> +++ b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
> @@ -247,7 +247,7 @@ static void qtnf_pcie_free_shm_ipc(struct qtnf_pcie_bus_priv *priv)
>
> static int qtnf_pcie_init_memory(struct qtnf_pcie_bus_priv *priv)
> {
> - int ret;
> + int ret = -ENOMEM;
>
> priv->sysctl_bar = qtnf_map_bar(priv, QTN_SYSCTL_BAR);
> if (IS_ERR_OR_NULL(priv->sysctl_bar)) {
Not related to your patch but qtnf_map_bar() should be changed not to
return NULL. When functions return both NULL and error pointers the
NULL is supposed to be a special type of success return. Here it is
just a fail return where we forgot to set the error code to
ERR_PTR(-ENOMEM).
regards,
dan carpenter
> Not related to your patch but qtnf_map_bar() should be changed not to
> return NULL. When functions return both NULL and error pointers the
> NULL is supposed to be a special type of success return. Here it is
> just a fail return where we forgot to set the error code to
> ERR_PTR(-ENOMEM).
Thanks for reporting! FWIW it is not a bug, all the checks of pci maps
are in place. Though having both ERR_PTR and NULL in return indeed
looks confusing. We will add a fix in the upcoming cleanup series.
Regards,
Sergey
Colin Ian King <[email protected]> wrote:
> From: Colin Ian King <[email protected]>
>
> The return value ret is unitialized and garbage is being returned
> for the three different error conditions when setting up the PCIe
> BARs. Fix this by initializing ret to -ENOMEM to indicate that
> the BARs failed to be setup correctly.
>
> Detected by CoverityScan, CID#1437563 ("Unitialized scalar variable")
>
> Signed-off-by: Colin Ian King <[email protected]>
> Reviewed-by: Sergey Matyukevich <[email protected]>
Patch applied to wireless-drivers-next.git, thanks.
3e3d8aa61107 qtnfmac: fix uninitialized return code in ret
--
https://patchwork.kernel.org/patch/9801833/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches