Re: [tip:x86/urgent] x86/dumpstack: Avoid uninitlized variable

From: Josh Poimboeuf
Date: Mon Feb 05 2018 - 16:39:26 EST


On Mon, Feb 05, 2018 at 10:21:06PM +0100, Arnd Bergmann wrote:
> On Fri, Feb 2, 2018 at 11:36 PM, tip-bot for Arnd Bergmann
> <tipbot@xxxxxxxxx> wrote:
> > Commit-ID: ebfc15019cfa72496c674ffcb0b8ef10790dcddc
> > Gitweb: https://git.kernel.org/tip/ebfc15019cfa72496c674ffcb0b8ef10790dcddc
> > Author: Arnd Bergmann <arnd@xxxxxxxx>
> > AuthorDate: Fri, 2 Feb 2018 15:56:17 +0100
> > Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > CommitDate: Fri, 2 Feb 2018 23:33:50 +0100
> >
> > x86/dumpstack: Avoid uninitlized variable
> >
> > In some configurations, 'partial' does not get initialized, as shown by
> > this gcc-8 warning:
> >
> > arch/x86/kernel/dumpstack.c: In function 'show_trace_log_lvl':
> > arch/x86/kernel/dumpstack.c:156:4: error: 'partial' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> > show_regs_if_on_stack(&stack_info, regs, partial);
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > This initializes it to false, to get the previous behavior in this case.
> >
> > Fixes: a9cdbe72c4e8 ("x86/dumpstack: Fix partial register dumps")
>
>
> I just noticed my annotation got lost when I sent the patch. I originally
> meant to ask Josh to double-check whether it should be 'false' or 'true'
> here, or if we maybe need a larger change.
>
> Josh, could you take a look? Unfortunately I did not really understand
> your original commit, so I don't know what the safe choice is here
> in those cases in which 'partial' is uninitialized.

I think it doesn't matter, it seems to be a false positive warning.

The 'partial' variable is only used when 'regs' is non-NULL, and 'regs'
is only set in unwind_get_entry_regs() after 'partial' gets initialized.

--
Josh