• Daniel Bristot de Oliveira's avatar
    tools/rv: Fix curr_reactor uninitialized variable · 61ec586b
    Daniel Bristot de Oliveira authored
    clang is reporting:
    
    $ make HOSTCC=clang CC=clang LLVM_IAS=1
    
    clang -O -g -DVERSION=\"6.8.0-rc3\" -flto=auto -fexceptions
    	-fstack-protector-strong -fasynchronous-unwind-tables
    	-fstack-clash-protection  -Wall -Werror=format-security
    	-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
    	$(pkg-config --cflags libtracefs)  -I include
    	-c -o src/in_kernel.o src/in_kernel.c
    [...]
    
    src/in_kernel.c:227:6: warning: variable 'curr_reactor' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
      227 |         if (!end)
          |             ^~~~
    src/in_kernel.c:242:9: note: uninitialized use occurs here
      242 |         return curr_reactor;
          |                ^~~~~~~~~~~~
    src/in_kernel.c:227:2: note: remove the 'if' if its condition is always false
      227 |         if (!end)
          |         ^~~~~~~~~
      228 |                 goto out_free;
          |                 ~~~~~~~~~~~~~
    src/in_kernel.c:221:6: warning: variable 'curr_reactor' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
      221 |         if (!start)
          |             ^~~~~~
    src/in_kernel.c:242:9: note: uninitialized use occurs here
      242 |         return curr_reactor;
          |                ^~~~~~~~~~~~
    src/in_kernel.c:221:2: note: remove the 'if' if its condition is always false
      221 |         if (!start)
          |         ^~~~~~~~~~~
      222 |                 goto out_free;
          |                 ~~~~~~~~~~~~~
    src/in_kernel.c:215:20: note: initialize the variable 'curr_reactor' to silence this warning
      215 |         char *curr_reactor;
          |                           ^
          |                            = NULL
    2 warnings generated.
    
    Which is correct. Setting curr_reactor to NULL avoids the problem.
    
    Link: https://lkml.kernel.org/r/3a35551149e5ee0cb0950035afcb8082c3b5d05b.1707217097.git.bristot@kernel.org
    
    Cc: stable@vger.kernel.org
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Bill Wendling <morbo@google.com>
    Cc: Justin Stitt <justinstitt@google.com>
    Cc: Donald Zickus <dzickus@redhat.com>
    Fixes: 6d60f896 ("tools/rv: Add in-kernel monitor interface")
    Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
    61ec586b
in_kernel.c 15.1 KB