Re: [PATCH][net-next] qtnfmac: fix uninitialized return code in ret

From: Dan Carpenter
Date: Thu Jun 22 2017 - 01:11:34 EST


On Wed, Jun 21, 2017 at 02:25:30PM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> 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 <colin.king@xxxxxxxxxxxxx>
> ---
> 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