Skip to content
  • Kees Cook's avatar
    treewide: Remove uninitialized_var() usage · 3f649ab7
    Kees Cook authored
    
    
    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-glider@google.com/
    [2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
    [3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
    [4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/
    
    Reviewed-by: Leon Romanovsky <leonro@mellanox.com> # drivers/infiniband and mlx4/mlx5
    Acked-by: Jason Gunthorpe <jgg@mellanox.com> # IB
    Acked-by: Kalle Valo <kvalo@codeaurora.org> # wireless drivers
    Reviewed-by: Chao Yu <yuchao0@huawei.com> # erofs
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    3f649ab7