From: Segher Boessenkool <segher@kernel.crashing.org>
To: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Cc: syzkaller@googlegroups.com, linuxppc-dev@lists.ozlabs.org,
dvyukov@google.com
Subject: Re: [PATCH 1/2] powerpc/64s: Work around spurious warning on old gccs with -fsanitize-coverage
Date: Thu, 7 Feb 2019 01:49:47 -0600 [thread overview]
Message-ID: <20190207074947.GT14180@gate.crashing.org> (raw)
In-Reply-To: <630e392b-e9a7-6b1e-e3d8-c5382f94e5d7@au1.ibm.com>
On Thu, Feb 07, 2019 at 05:59:48PM +1100, Andrew Donnellan wrote:
> On 7/2/19 5:37 pm, Segher Boessenkool wrote:
> >On Thu, Feb 07, 2019 at 04:33:23PM +1100, Andrew Donnellan wrote:
> >>Some older gccs (<GCC 7), when invoked with -fsanitize-coverage=trace-pc,
> >>cause a spurious uninitialised variable warning in dt_cpu_ftrs.c:
> >>
> >> arch/powerpc/kernel/dt_cpu_ftrs.c: In function
> >> ‘cpufeatures_process_feature’:
> >> arch/powerpc/kernel/dt_cpu_ftrs.c:686:7: warning: ‘m’ may be used
> >> uninitialized in this function [-Wmaybe-uninitialized]
> >> if (m->cpu_ftr_bit_mask)
> >
> >It seems to me the warning is correct? If enable_unknown is false and no
> >cpu_feature is found, it will in
> >
> > if (m->cpu_ftr_bit_mask)
> > cur_cpu_spec->cpu_features |= m->cpu_ftr_bit_mask;
> >
> >enable random features (whatever was last in the table), or indeed access
> >via NULL if the table is length 0? So maybe this should be
> >
> > if (known && m->cpu_ftr_bit_mask)
> > cur_cpu_spec->cpu_features |= m->cpu_ftr_bit_mask;
> >
> >instead? (The code would be much clearer if all the known vs. !known
> >codepath was fully separated here).
>
> The table is never length 0, it's a statically defined array.
Sure, and presumably that is why newer GCC doesn't warn. But what about
the other point? Is this code ever correct? Enabling random features
(in cur_cpu_spec->cpu_features) when the name isn't found seems wrong.
Segher
next prev parent reply other threads:[~2019-02-07 7:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-07 5:33 [PATCH 1/2] powerpc/64s: Work around spurious warning on old gccs with -fsanitize-coverage Andrew Donnellan
2019-02-07 5:33 ` [PATCH 2/2] powerpc: Enable kcov Andrew Donnellan
2019-02-07 6:37 ` [PATCH 1/2] powerpc/64s: Work around spurious warning on old gccs with -fsanitize-coverage Segher Boessenkool
2019-02-07 6:59 ` Andrew Donnellan
2019-02-07 7:49 ` Segher Boessenkool [this message]
2019-02-08 0:34 ` Andrew Donnellan
2019-02-08 3:02 ` Michael Ellerman
2019-02-08 3:11 ` Andrew Donnellan
2019-02-08 15:41 ` Segher Boessenkool
2019-02-10 5:14 ` Andrew Donnellan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190207074947.GT14180@gate.crashing.org \
--to=segher@kernel.crashing.org \
--cc=andrew.donnellan@au1.ibm.com \
--cc=dvyukov@google.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=syzkaller@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.