[git pull] drm for 5.12-rc1

Linus Torvalds torvalds at linux-foundation.org
Sun Feb 21 23:07:17 UTC 2021


On Thu, Feb 18, 2021 at 10:06 PM Dave Airlie <airlied at gmail.com> wrote:
>
> Let me know if there are any issues,

gcc was happy, and I obviously already pushed out my merge, but then
when I did my clang build afterwards, it reports:

  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.c:764:2: warning:
variable 'structure_size' is used uninitialized whenever switch
default is taken [-Wsometimes-uninitialized]
          default:
          ^~~~~~~
  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.c:770:23: note:
uninitialized use occurs here
          memset(header, 0xFF, structure_size);
                               ^~~~~~~~~~~~~~

and clang is very very right. That "default" case is completely
broken, and will generate a randomly sized memset. Not good.

Presumably that default case never happens, but if so it shouldn't exist.

Perhaps better yet, make the "default" case just do a "return" instead
of a break. Breaking out of the switch statement to code that cannot
possibly work is all kinds of mindless.

Kevin/Alex? This was introduced by commit de4b7cd8cb87
("drm/amd/pm/swsmu: unify the init soft gpu metrics function")

              Linus


More information about the dri-devel mailing list