From: Kees Cook <keesc...@chromium.org>

Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings
(e.g. "unused variable"). If the compiler thinks it is uninitialized,
either simply initialize the variable or make compiler changes.

In preparation for removing[2] the[3] macro[4], remove all remaining
needless uses with the following script:

git grep '\buninitialized_var\b' | cut -d: -f1 | sort -u | \
        xargs perl -pi -e \
                's/\buninitialized_var\(([^\)]+)\)/\1/g;
                 s:\s*/\* (GCC be quiet|to make compiler happy) \*/$::g;'

drivers/video/fbdev/riva/riva_hw.c was manually tweaked to avoid
pathological white-space.

No outstanding warnings were found building allmodconfig with GCC 9.3.0
for x86_64, i386, arm64, arm, powerpc, powerpc64le, s390x, mips, sparc64,
alpha, and m68k.

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-gli...@google.com/
[2] 
https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1tgqcr5vqkczwj0qxk6cernou6eedsuda...@mail.gmail.com/
[3] 
https://lore.kernel.org/lkml/ca+55afwgbgqhbp1fkxvrkepzyr5j8n1vkt1vzdz9knmpuxh...@mail.gmail.com/
[4] 
https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yvju65tplgn_ybynv0ve...@mail.gmail.com/

Reviewed-by: Leon Romanovsky <leo...@mellanox.com> # drivers/infiniband and 
mlx4/mlx5
Acked-by: Jason Gunthorpe <j...@mellanox.com> # IB
Acked-by: Kalle Valo <kv...@codeaurora.org> # wireless drivers
Reviewed-by: Chao Yu <yuch...@huawei.com> # erofs
Signed-off-by: Kees Cook <keesc...@chromium.org>
---
 cpukit/libfs/src/jffs2/src/erase.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/libfs/src/jffs2/src/erase.c 
b/cpukit/libfs/src/jffs2/src/erase.c
index 9ffffafaea..e8ab569462 100644
--- a/cpukit/libfs/src/jffs2/src/erase.c
+++ b/cpukit/libfs/src/jffs2/src/erase.c
@@ -403,7 +403,7 @@ static void jffs2_mark_erased_block(struct jffs2_sb_info 
*c, struct jffs2_eraseb
 {
        size_t retlen;
        int ret;
-       uint32_t uninitialized_var(bad_offset);
+       uint32_t bad_offset;
 
        switch (jffs2_block_check_erase(c, jeb, &bad_offset)) {
        case -EAGAIN:   goto refile;
-- 
2.35.3

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to