From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Nathan Chancellor <nathan@kernel.org>
Cc: accessrunner-general@lists.sourceforge.net,
linux-usb@vger.kernel.org, llvm@lists.linux.dev,
patches@lists.linux.dev, stable@vger.kernel.org
Subject: Re: [PATCH] usb: atm: cxacru: Zero initialize bp in cxacru_heavy_init()
Date: Wed, 16 Jul 2025 07:06:50 +0200 [thread overview]
Message-ID: <2025071618-jester-outing-7fed@gregkh> (raw)
In-Reply-To: <20250715-usb-cxacru-fix-clang-21-uninit-warning-v1-1-de6c652c3079@kernel.org>
On Tue, Jul 15, 2025 at 01:33:32PM -0700, Nathan Chancellor wrote:
> After a recent change in clang to expose uninitialized warnings from
> const variables [1], there is a warning in cxacru_heavy_init():
>
> drivers/usb/atm/cxacru.c:1104:6: error: variable 'bp' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
> 1104 | if (instance->modem_type->boot_rom_patch) {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/usb/atm/cxacru.c:1113:39: note: uninitialized use occurs here
> 1113 | cxacru_upload_firmware(instance, fw, bp);
> | ^~
> drivers/usb/atm/cxacru.c:1104:2: note: remove the 'if' if its condition is always true
> 1104 | if (instance->modem_type->boot_rom_patch) {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/usb/atm/cxacru.c:1095:32: note: initialize the variable 'bp' to silence this warning
> 1095 | const struct firmware *fw, *bp;
> | ^
> | = NULL
>
> This warning occurs in clang's frontend before inlining occurs, so it
> cannot notice that bp is only used within cxacru_upload_firmware() under
> the same condition that initializes it in cxacru_heavy_init(). Just
> initialize bp to NULL to silence the warning without functionally
> changing the code, which is what happens with modern compilers when they
> support '-ftrivial-auto-var-init=zero' (CONFIG_INIT_STACK_ALL_ZERO=y).
We generally do not want to paper over compiler bugs, when our code is
correct, so why should we do that here? Why not fix clang instead?
thanks,
greg k-h
next prev parent reply other threads:[~2025-07-16 5:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-15 20:33 [PATCH] usb: atm: cxacru: Zero initialize bp in cxacru_heavy_init() Nathan Chancellor
2025-07-16 5:06 ` Greg Kroah-Hartman [this message]
2025-07-16 5:24 ` Nathan Chancellor
2025-07-16 7:45 ` Greg Kroah-Hartman
2025-07-16 8:00 ` Greg Kroah-Hartman
2025-07-16 15:43 ` Nathan Chancellor
2025-07-16 16:08 ` Greg Kroah-Hartman
2025-07-16 17:29 ` Nathan Chancellor
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=2025071618-jester-outing-7fed@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=accessrunner-general@lists.sourceforge.net \
--cc=linux-usb@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=nathan@kernel.org \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
/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.