nouveau: hide gcc-4.9 -Wmaybe-uninitialized
Subsystems (3)
PATCH 1/1 nouveau: hide gcc-4.9 -Wmaybe-uninitialized
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.
--- drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/nouveau/nouveau_gem.c +1 -1
@@ -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);
Signature · 1 line
2.9.0
uhh, that function looks so odd, ... yeah. Change looks fine.
2016-10-24 17:30 GMT+02:00 Arnd Bergmann <[email protected]>:
Quoted 35 lines
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
-EINVALhere is correct even if the caller changed, and it avoids the warning on gcc-4.9 as well.Signed-off-by Arnd Bergmann <[email protected]>--- drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/gpu/drm/nouveau/nouveau_gem.c +1
-2@@ -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); --2.9.0
Quoted 4 lines
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau