Re: [REGRESSION] stable-rc/linux-6.12.y: (build) variable 'val' is uninitialized when passed as a const pointer arg...
Nathan Chancellor <[email protected]> Mon, 24 Nov 2025 15:40:46 -0700
| Newsgroups | dev.linux.lists.kernelci,dev.linux.lists.linux-staging,org.kernel.vger.stable |
|---|---|
| Message-ID | <20251124224046.GA3142687@ax162> |
On Mon, Nov 24, 2025 at 02:35:26PM -0800, Guenter Roeck wrote: > On Mon, Nov 24, 2025 at 2:04 PM Nathan Chancellor <[email protected]> wrote: > > > > On Mon, Nov 24, 2025 at 12:59:08PM -0000, KernelCI bot wrote: > > > Hello, > > > > > > New build issue found on stable-rc/linux-6.12.y: > > > > > > --- > > > variable 'val' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer] in drivers/staging/rtl8712/rtl8712_cmd.o (drivers/staging/rtl8712/rtl8712_cmd.c) [logspec:kbuild,kbuild.compiler.error] > > > --- > > > > > > - dashboard: https://d.kernelci.org/i/maestro:5b83acc62508c670164c5fceb3079a2d7d74e154 > > > - giturl: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > > > - commit HEAD: d5dc97879a97b328a89ec092271faa3db9f2bff3 > > > - tags: v6.12.59 > > > > > > > > > Log excerpt: > > > ===================================================== > > > drivers/staging/rtl8712/rtl8712_cmd.c:148:28: error: variable 'val' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer] > > > 148 | memcpy(pcmd->rsp, (u8 *)&val, pcmd->rspsz); > > > | ^~~ > > > 1 error generated. > > > > This comes from a new subwarning of -Wuninitialized introduced in > > clang-21: > > > > https://github.com/llvm/llvm-project/commit/00dacf8c22f065cb52efb14cd091d441f19b319e > > > > This driver was removed upstream in commit 41e883c137eb ("staging: > > rtl8712: Remove driver using deprecated API wext") in 6.13 so this only > > impacts stable. > > > > This certainly does look broken... > > > > static u8 read_rfreg_hdl(struct _adapter *padapter, u8 *pbuf) > > { > > u32 val; > > void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj *pcmd); > > struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; > > > > if (pcmd->rsp && pcmd->rspsz > 0) > > memcpy(pcmd->rsp, (u8 *)&val, pcmd->rspsz); > > > > Presumably this is never actually hit? It is rather hard to follow the > > indirection in this driver but it does not seem like _Read_RFREG is ever > > set as a cmdcode? Unfortunately, the only maintainer I see listed for > > this file is Florian Schilhabel but a glance at lore shows no recent > > activity so that probably won't be too much help. At the very least, we > > could just zero initialize val, it cannot be any worse than what it is > > currently doing and copying stack garbage? > > > > Or backport the patch removing the driver ? It is in staging, after > all, so I don't know if there is value in trying to keep it alive in > 6.12.y. That would likely not be the end of the world for 6.12.y but this warning appears all the way back to at least 5.15 (the point I start caring about warnings because of CONFIG_WERROR). Cheers, Nathan