drivers/misc/cardreader/rts5261.c | 2 ++ 1 file changed, 2 insertions(+)
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 <dan.carpenter@oracle.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Tom Rix <trix@redhat.com>
Suggested-by: Ricky WU <ricky_wu@realtek.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
This is basically a v2 of https://lore.kernel.org/20220516130047.3887590-1-trix@redhat.com/.
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
From: Nathan Chancellor <nathan@kernel.org>
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 <dan.carpenter@oracle.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Tom Rix <trix@redhat.com>
> Suggested-by: Ricky WU <ricky_wu@realtek.com>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Ping? Mainline 5.19-rc1 is now broken due to this.
> ---
>
> This is basically a v2 of https://lore.kernel.org/20220516130047.3887590-1-trix@redhat.com/.
>
> 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 <nathan@kernel.org>
> 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 <dan.carpenter@oracle.com>
> > Reported-by: kernel test robot <lkp@intel.com>
> > Reported-by: Tom Rix <trix@redhat.com>
> > Suggested-by: Ricky WU <ricky_wu@realtek.com>
> > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
>
> 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
On Mon, May 23, 2022 at 5:05 PM Nathan Chancellor <nathan@kernel.org> 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 <dan.carpenter@oracle.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Tom Rix <trix@redhat.com>
> Suggested-by: Ricky WU <ricky_wu@realtek.com>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Looks good to me,
Acked-by: Arnd Bergmann <arnd@arndb.de>
© 2016 - 2026 Red Hat, Inc.