All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: "Arnd Bergmann" <arnd@arndb.de>
Cc: "Dan Carpenter" <dan.carpenter@linaro.org>,
	"Naresh Kamboju" <naresh.kamboju@linaro.org>,
	"Uladzislau Rezki" <urezki@gmail.com>,
	linux-next <linux-next@vger.kernel.org>,
	"open list" <linux-kernel@vger.kernel.org>,
	"Linux Regressions" <regressions@lists.linux.dev>,
	clang-built-linux <llvm@lists.linux.dev>,
	lkft-triage@lists.linaro.org,
	"Andrew Morton" <akpm@linux-foundation.org>
Subject: Re: mm/vmalloc.c:4691:25: error: variable 'addr' is uninitialized when used here [-Werror,-Wuninitialized]
Date: Fri, 12 Jan 2024 13:46:22 +1100	[thread overview]
Message-ID: <20240112134556.1c73c072@oak> (raw)
In-Reply-To: <bb175a67-462b-41a7-804a-ec990291a00e@app.fastmail.com>

[-- Attachment #1: Type: text/plain, Size: 2574 bytes --]

Hi all,

On Thu, 11 Jan 2024 17:37:12 +0100 "Arnd Bergmann" <arnd@arndb.de> wrote:
>
> On Thu, Jan 11, 2024, at 13:55, Arnd Bergmann wrote:
> > On Thu, Jan 11, 2024, at 12:16, Dan Carpenter wrote:  
> >> On Thu, Jan 11, 2024 at 04:23:09PM +0530, Naresh Kamboju wrote:  
> >>> Following build failures noticed on i386 and x86 with clang builds on the
> >>> Linux next-20240111 tag.
> >>> 
> >>> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> >>> 
> >>> Build error:
> >>> ----------
> >>> mm/vmalloc.c:4691:25: error: variable 'addr' is uninitialized when
> >>> used here [-Werror,-Wuninitialized]
> >>>  4691 |                 va = __find_vmap_area(addr, &vn->busy.root);
> >>>       |                                       ^~~~
> >>> mm/vmalloc.c:4684:20: note: initialize the variable 'addr' to silence
> >>> this warning
> >>>  4684 |         unsigned long addr;
> >>>       |                           ^
> >>>       |                            = 0
> >>> 1 error generated.  
> >>
> >> We turned off uninitialized variable warnings for GCC a long time ago...
> >> :/ I don't know if we'll be able to re-enable it in a -Werror world
> >> although Clang seems to be managing alright so perhaps there is hope.  
> >
> > The problem with gcc's warning is that it is non-deterministic and
> > in recent versions actually got more false-positives even without
> > -Os or -fsanitize=. Clang does not catch all that gcc does because
> > it doesn't track state across inline functions, but at least its
> > output is always the same regardless of optimization and other
> > options.
> >
> > At least this particular one is an obvious bug and easily gets
> > caught by lkft and lkp even if gcc's -Wuninitilized doesn't
> > flag it.  
> 
> As it turns out, gcc did find this one in the default -Wuninitialized
> regardless of -Wmaybe-uninitialized:
> 
> mm/vmalloc.c: In function 'vmalloc_dump_obj':
> mm/vmalloc.c:4691:22: error: 'addr' is used uninitialized [-Werror=uninitialized]
>  4691 |                 va = __find_vmap_area(addr, &vn->busy.root);
>       |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> mm/vmalloc.c:4684:23: note: 'addr' was declared here
>  4684 |         unsigned long addr;
>       |                       ^~~~
> 
> and I see that Uladzislau Rezki already sent a fix, which
> is the same that I tried out in my randconfig tree:
> https://lore.kernel.org/lkml/ZaARXdbigD1hWuOS@pc638.lan/

I have applied that to linux-next today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

      reply	other threads:[~2024-01-12  2:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-11 10:53 mm/vmalloc.c:4691:25: error: variable 'addr' is uninitialized when used here [-Werror,-Wuninitialized] Naresh Kamboju
2024-01-11 11:16 ` Dan Carpenter
2024-01-11 12:55   ` Arnd Bergmann
2024-01-11 16:37     ` Arnd Bergmann
2024-01-12  2:46       ` Stephen Rothwell [this message]

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=20240112134556.1c73c072@oak \
    --to=sfr@canb.auug.org.au \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=dan.carpenter@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=lkft-triage@lists.linaro.org \
    --cc=llvm@lists.linux.dev \
    --cc=naresh.kamboju@linaro.org \
    --cc=regressions@lists.linux.dev \
    --cc=urezki@gmail.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.