Re: build failure of next-20221005 due to a3a956c78efa ("fs/ntfs3: Add option "nocase"")

From: Nick Desaulniers
Date: Wed Oct 05 2022 - 12:38:59 EST


On Wed, Oct 5, 2022 at 4:19 AM Sudip Mukherjee (Codethink)
<sudipm.mukherjee@xxxxxxxxx> wrote:
>
> Hi All,
>
> The builds of x86_84 allmodconfig with clang have failed to build
> next-20221005 with the error:
>
> fs/ntfs3/namei.c:445:7: error: variable 'uni1' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
> if (toupper(c1) != toupper(c2)) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ./include/linux/ctype.h:64:20: note: expanded from macro 'toupper'
> #define toupper(c) __toupper(c)
> ^
> fs/ntfs3/namei.c:487:12: note: uninitialized use occurs here
> __putname(uni1);
> ^~~~
> ./include/linux/fs.h:2803:65: note: expanded from macro '__putname'
> #define __putname(name) kmem_cache_free(names_cachep, (void *)(name))
> ^~~~
> fs/ntfs3/namei.c:445:3: note: remove the 'if' if its condition is always false
> if (toupper(c1) != toupper(c2)) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/ntfs3/namei.c:434:7: error: variable 'uni1' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
> if (!lm--) {
> ^~~~~
> fs/ntfs3/namei.c:487:12: note: uninitialized use occurs here
> __putname(uni1);
> ^~~~
> ./include/linux/fs.h:2803:65: note: expanded from macro '__putname'
> #define __putname(name) kmem_cache_free(names_cachep, (void *)(name))
> ^~~~
> fs/ntfs3/namei.c:434:3: note: remove the 'if' if its condition is always false
> if (!lm--) {
> ^~~~~~~~~~~~
> fs/ntfs3/namei.c:430:22: note: initialize the variable 'uni1' to silence this warning
> struct cpu_str *uni1, *uni2;
> ^
> = NULL
> 2 errors generated.
>
> git bisect pointed to a3a956c78efa ("fs/ntfs3: Add option "nocase"").
>
> I will be happy to test any patch or provide any extra log if needed.

Hi Sudip,
Thanks for the report. Please help review+test:
https://lore.kernel.org/llvm/20221004232359.285685-1-nathan@xxxxxxxxxx/.

For future reports, please take the time to review:
1. Our issue tracker. Nathan had a bug filed about this yesterday.
https://github.com/ClangBuiltLinux/linux/issues/1729
2. The mailing list archives on lore: https://lore.kernel.org/llvm/ If
you search for -Wsometimes-uninitialized you'll see Nathan's
report/patch as well as reports from KernelCI.

I'll take more reports over no reports, but if we already have an open
report, please take the time to participate in the existing threads
rather than create new ones. That way, if an issue needs a discussion
to resolve, it happens in one thread and not across multiple.
--
Thanks,
~Nick Desaulniers