Re: [PATCH] x86: mmiotrace: Use cpumask_available for cpumask_var_t variables
From: Steven Rostedt
Date: Mon May 18 2020 - 18:35:51 EST
On Mon, 18 May 2020 11:52:47 -0700
Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote:
> On Mon, May 18, 2020 at 2:31 AM Nathan Chancellor
> <natechancellor@xxxxxxxxx> wrote:
> >
> > On Wed, Apr 08, 2020 at 01:53:23PM -0700, Nathan Chancellor wrote:
> > > When building with Clang + -Wtautological-compare and
> > > CONFIG_CPUMASK_OFFSTACK unset:
> > >
> > > arch/x86/mm/mmio-mod.c:375:6: warning: comparison of array 'downed_cpus'
> > > equal to a null pointer is always false [-Wtautological-pointer-compare]
> > > if (downed_cpus == NULL &&
> > > ^~~~~~~~~~~ ~~~~
> > > arch/x86/mm/mmio-mod.c:405:6: warning: comparison of array 'downed_cpus'
> > > equal to a null pointer is always false [-Wtautological-pointer-compare]
> > > if (downed_cpus == NULL || cpumask_weight(downed_cpus) == 0)
> > > ^~~~~~~~~~~ ~~~~
> > > 2 warnings generated.
> > >
> > > Commit f7e30f01a9e2 ("cpumask: Add helper cpumask_available()") added
> > > cpumask_available to fix warnings of this nature. Use that here so that
> > > clang does not warn regardless of CONFIG_CPUMASK_OFFSTACK's value.
> > >
> > > Link: https://github.com/ClangBuiltLinux/linux/issues/982
> > > Reported-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>
> > > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
>
> Thanks for the patch, sorry I'm falling behind on code review!
> Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
Linus sent me a issue about this failure privately as well, and had two
solutions for it (one being identical to this one, and I shared that with
him, and another one he thought would be better, but had some issues).
Linus,
Are you OK with this patch?
-- Steve
>
> > > ---
> > > arch/x86/mm/mmio-mod.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/arch/x86/mm/mmio-mod.c b/arch/x86/mm/mmio-mod.c
> > > index 109325d77b3e..43fd19b3f118 100644
> > > --- a/arch/x86/mm/mmio-mod.c
> > > +++ b/arch/x86/mm/mmio-mod.c
> > > @@ -372,7 +372,7 @@ static void enter_uniprocessor(void)
> > > int cpu;
> > > int err;
> > >
> > > - if (downed_cpus == NULL &&
> > > + if (!cpumask_available(downed_cpus) &&
> > > !alloc_cpumask_var(&downed_cpus, GFP_KERNEL)) {
> > > pr_notice("Failed to allocate mask\n");
> > > goto out;
> > > @@ -402,7 +402,7 @@ static void leave_uniprocessor(void)
> > > int cpu;
> > > int err;
> > >
> > > - if (downed_cpus == NULL || cpumask_weight(downed_cpus) == 0)
> > > + if (!cpumask_available(downed_cpus) || cpumask_weight(downed_cpus) == 0)
> > > return;
> > > pr_notice("Re-enabling CPUs...\n");
> > > for_each_cpu(cpu, downed_cpus) {
> > >
> > > base-commit: ae46d2aa6a7fbe8ca0946f24b061b6ccdc6c3f25
> > > --
> > > 2.26.0
> > >
> >
> > Gentle ping for acceptance, I am not sure who should take this.
>
> Looks like Steven or Ingo are the listed maintainers for MMIOTRACE?
>