]> git.hungrycats.org Git - linux/commit
media: davinci-isif: avoid uninitialized variable use
authorArnd Bergmann <arnd@arndb.de>
Fri, 22 Mar 2019 14:34:22 +0000 (10:34 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 23 Sep 2019 20:11:36 +0000 (21:11 +0100)
commit393297320399540d2aa364bb331c90a736e0adc1
treea6a5fff50c1248164e89da56e25b8d22ede21839
parent8a6dad8719092ba7d8838dde2fb8f41c7c8a4432
media: davinci-isif: avoid uninitialized variable use

commit 0e633f97162c1c74c68e2eb20bbd9259dce87cd9 upstream.

clang warns about a possible variable use that gcc never
complained about:

drivers/media/platform/davinci/isif.c:982:32: error: variable 'frame_size' is uninitialized when used here
      [-Werror,-Wuninitialized]
                dm365_vpss_set_pg_frame_size(frame_size);
                                             ^~~~~~~~~~
drivers/media/platform/davinci/isif.c:887:2: note: variable 'frame_size' is declared here
        struct vpss_pg_frame_size frame_size;
        ^
1 error generated.

There is no initialization for this variable at all, and there
has never been one in the mainline kernel, so we really should
not put that stack data into an mmio register.

On the other hand, I suspect that gcc checks the condition
more closely and notices that the global
isif_cfg.bayer.config_params.test_pat_gen flag is initialized
to zero and never written to from any code path, so anything
depending on it can be eliminated.

To shut up the clang warning, just remove the dead code manually,
it has probably never been used because any attempt to do so
would have resulted in undefined behavior.

Fixes: 63e3ab142fa3 ("V4L/DVB: V4L - vpfe capture - source for ISIF driver on DM365")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/media/platform/davinci/isif.c