Re: [RESEND PATCH] IB/qib: fix false-postive maybe-uninitialized warning

From: Doug Ledford
Date: Fri Mar 24 2017 - 22:46:42 EST


On Tue, 2017-03-14 at 13:18 +0100, Arnd Bergmann wrote:
> aarch64-linux-gcc-7 complains about code it doesn't fully understand:
>
> drivers/infiniband/hw/qib/qib_iba7322.c: In function
> 'qib_7322_txchk_change':
> include/asm-generic/bitops/non-atomic.h:105:35: error: 'shadow' may
> be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> The code is right, and despite trying hard, I could not come up with
> a version
> that I liked better than just adding a fake initialization here to
> shut up the
> warning.
>
> Fixes: f931551bafe1 ("IB/qib: Add new qib driver for QLogic PCIe
> InfiniBand adapters")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Acked-by: Ira Weiny <ira.weiny@xxxxxxxxx>
> ---
> Submitted originally on Feb 27, the patch is still required on v4.11-
> rc2 to get
> a clean build.
> ---
> Âdrivers/infiniband/hw/qib/qib_iba7322.c | 2 +-
> Â1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c
> b/drivers/infiniband/hw/qib/qib_iba7322.c
> index 12c4208fd701..af9f596bb68b 100644
> --- a/drivers/infiniband/hw/qib/qib_iba7322.c
> +++ b/drivers/infiniband/hw/qib/qib_iba7322.c
> @@ -7068,7 +7068,7 @@ static void qib_7322_txchk_change(struct
> qib_devdata *dd, u32 start,
> Â unsigned long flags;
> Â
> Â while (wait) {
> - unsigned long shadow;
> + unsigned long shadow = 0;
> Â int cstart, previ = -1;
> Â
> Â /*

Applied. ÂAlthough, it would be preferable to fix the compiler, but I
don't have any control over that and as this breaks compiles with
-Werror, I'll relent and let it in.

--
Doug Ledford <dledford@xxxxxxxxxx>
  GPG KeyID: B826A3330E572FDD
 Â
Key fingerprint = AE6B 1BDA 122B 23B4 265B Â1274 B826 A333 0E57 2FDD