]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher
authorNathan Chancellor <natechancellor@gmail.com>
Thu, 7 Mar 2019 22:56:51 +0000 (15:56 -0700)
committerMatthias Brugger <matthias.bgg@gmail.com>
Fri, 12 Apr 2019 19:57:49 +0000 (21:57 +0200)
When building with -Wsometimes-uninitialized, Clang warns:

drivers/soc/mediatek/mtk-pmic-wrap.c:1358:6: error: variable 'rdata' is
used uninitialized whenever '||' condition is true
[-Werror,-Wsometimes-uninitialized]

If pwrap_write returns non-zero, pwrap_read will not be called to
initialize rdata, meaning that we will use some random uninitialized
stack value in our print statement. Zero initialize rdata in case this
happens.

Link: https://github.com/ClangBuiltLinux/linux/issues/401
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/soc/mediatek/mtk-pmic-wrap.c

index 73f0be0567bd07b31da7bf4d117b6f5d3595b8ba..c4449a163991bff58c2a40cf0442a96383ca788c 100644 (file)
@@ -1371,7 +1371,7 @@ static bool pwrap_is_pmic_cipher_ready(struct pmic_wrapper *wrp)
 static int pwrap_init_cipher(struct pmic_wrapper *wrp)
 {
        int ret;
-       u32 rdata;
+       u32 rdata = 0;
 
        pwrap_writel(wrp, 0x1, PWRAP_CIPHER_SWRST);
        pwrap_writel(wrp, 0x0, PWRAP_CIPHER_SWRST);