Clang warns:
drivers/misc/cardreader/rts5261.c:406:13: error: variable 'setting_reg2' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
} else if (efuse_valid == 0) {
^~~~~~~~~~~~~~~~
drivers/misc/cardreader/rts5261.c:412:30: note: uninitialized use occurs here
pci_read_config_dword(pdev, setting_reg2, &lval2);
^~~~~~~~~~~~
efuse_valid == 1 is not a valid value so just return early from the
function to avoid using setting_reg2 uninitialized.
Fixes: b1c5f3085149 ("misc: rtsx: add rts5261 efuse function")
Reported-by: Dan Carpenter <[email protected]>
Reported-by: kernel test robot <[email protected]>
Reported-by: Tom Rix <[email protected]>
Suggested-by: Ricky WU <[email protected]>
Signed-off-by: Nathan Chancellor <[email protected]>
---
This is basically a v2 of https://lore.kernel.org/[email protected]/.
drivers/misc/cardreader/rts5261.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/misc/cardreader/rts5261.c b/drivers/misc/cardreader/rts5261.c
index 749cc5a46d13..b1e76030cafd 100644
--- a/drivers/misc/cardreader/rts5261.c
+++ b/drivers/misc/cardreader/rts5261.c
@@ -407,6 +407,8 @@ static void rts5261_init_from_hw(struct rtsx_pcr *pcr)
// default
setting_reg1 = PCR_SETTING_REG1;
setting_reg2 = PCR_SETTING_REG2;
+ } else {
+ return;
}
pci_read_config_dword(pdev, setting_reg2, &lval2);
base-commit: 90de6805267f8c79cd2b1a36805071e257c39b5c
--
2.36.1
On Mon, May 23, 2022 at 5:05 PM Nathan Chancellor <[email protected]> wrote:
>
> Clang warns:
>
> drivers/misc/cardreader/rts5261.c:406:13: error: variable 'setting_reg2' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
> } else if (efuse_valid == 0) {
> ^~~~~~~~~~~~~~~~
> drivers/misc/cardreader/rts5261.c:412:30: note: uninitialized use occurs here
> pci_read_config_dword(pdev, setting_reg2, &lval2);
> ^~~~~~~~~~~~
>
> efuse_valid == 1 is not a valid value so just return early from the
> function to avoid using setting_reg2 uninitialized.
>
> Fixes: b1c5f3085149 ("misc: rtsx: add rts5261 efuse function")
> Reported-by: Dan Carpenter <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Reported-by: Tom Rix <[email protected]>
> Suggested-by: Ricky WU <[email protected]>
> Signed-off-by: Nathan Chancellor <[email protected]>
Looks good to me,
Acked-by: Arnd Bergmann <[email protected]>
From: Nathan Chancellor <[email protected]>
Date: Mon, 23 May 2022 08:05:22 -0700
> Clang warns:
>
> drivers/misc/cardreader/rts5261.c:406:13: error: variable 'setting_reg2' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
> } else if (efuse_valid == 0) {
> ^~~~~~~~~~~~~~~~
> drivers/misc/cardreader/rts5261.c:412:30: note: uninitialized use occurs here
> pci_read_config_dword(pdev, setting_reg2, &lval2);
> ^~~~~~~~~~~~
>
> efuse_valid == 1 is not a valid value so just return early from the
> function to avoid using setting_reg2 uninitialized.
>
> Fixes: b1c5f3085149 ("misc: rtsx: add rts5261 efuse function")
> Reported-by: Dan Carpenter <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Reported-by: Tom Rix <[email protected]>
> Suggested-by: Ricky WU <[email protected]>
> Signed-off-by: Nathan Chancellor <[email protected]>
Ping? Mainline 5.19-rc1 is now broken due to this.
> ---
>
> This is basically a v2 of https://lore.kernel.org/[email protected]/.
>
> drivers/misc/cardreader/rts5261.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/misc/cardreader/rts5261.c b/drivers/misc/cardreader/rts5261.c
> index 749cc5a46d13..b1e76030cafd 100644
> --- a/drivers/misc/cardreader/rts5261.c
> +++ b/drivers/misc/cardreader/rts5261.c
> @@ -407,6 +407,8 @@ static void rts5261_init_from_hw(struct rtsx_pcr *pcr)
> // default
> setting_reg1 = PCR_SETTING_REG1;
> setting_reg2 = PCR_SETTING_REG2;
> + } else {
> + return;
> }
>
> pci_read_config_dword(pdev, setting_reg2, &lval2);
>
> base-commit: 90de6805267f8c79cd2b1a36805071e257c39b5c
> --
> 2.36.1
Thanks,
Al
On Mon, Jun 06, 2022 at 12:58:19PM +0200, Alexander Lobakin wrote:
> From: Nathan Chancellor <[email protected]>
> Date: Mon, 23 May 2022 08:05:22 -0700
>
> > Clang warns:
> >
> > drivers/misc/cardreader/rts5261.c:406:13: error: variable 'setting_reg2' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
> > } else if (efuse_valid == 0) {
> > ^~~~~~~~~~~~~~~~
> > drivers/misc/cardreader/rts5261.c:412:30: note: uninitialized use occurs here
> > pci_read_config_dword(pdev, setting_reg2, &lval2);
> > ^~~~~~~~~~~~
> >
> > efuse_valid == 1 is not a valid value so just return early from the
> > function to avoid using setting_reg2 uninitialized.
> >
> > Fixes: b1c5f3085149 ("misc: rtsx: add rts5261 efuse function")
> > Reported-by: Dan Carpenter <[email protected]>
> > Reported-by: kernel test robot <[email protected]>
> > Reported-by: Tom Rix <[email protected]>
> > Suggested-by: Ricky WU <[email protected]>
> > Signed-off-by: Nathan Chancellor <[email protected]>
>
> Ping? Mainline 5.19-rc1 is now broken due to this.
Perhaps use a different compiler? :)
It's in my "to apply" queue, will get there hopefully this week, it came
in during the merge window which prevented me from touching it. You
know this...
thanks,
greg k-h