drm/nouveau: hide gcc-4.9 -Wmaybe-uninitialized
authorArnd Bergmann <arnd@arndb.de>
Mon, 24 Oct 2016 15:30:38 +0000 (17:30 +0200)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 7 Nov 2016 04:04:36 +0000 (14:04 +1000)
gcc-4.9 notices that the validate_init() function returns unintialized
data when called with a zero 'nr_buffers' argument, when called with the
-Wmaybe-uninitialized flag:

drivers/gpu/drm/nouveau/nouveau_gem.c: In function ‘validate_init.isra.6’:
drivers/gpu/drm/nouveau/nouveau_gem.c:457:5: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

However, the only caller of this function always passes a nonzero
argument, and gcc-6 is clever enough to take this into account and
not warn about it any more.

Adding an explicit initialization to -EINVAL here is correct even if
the caller changed, and it avoids the warning on gcc-4.9 as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-By: Karol Herbst <karolherbst@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_gem.c

index 7f083c95f42232622eec8d77b230b8911a5fd612..201b52b750dd67391c6660e7c58ca97cd6f7e933 100644 (file)
@@ -369,7 +369,7 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv,
 {
        struct nouveau_cli *cli = nouveau_cli(file_priv);
        int trycnt = 0;
-       int ret, i;
+       int ret = -EINVAL, i;
        struct nouveau_bo *res_bo = NULL;
        LIST_HEAD(gart_list);
        LIST_HEAD(vram_list);