lkml.org 
[lkml]   [2020]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 09/10] treewide: Remove uninitialized_var() usage
    On Thu, Jun 04, 2020 at 10:23:06AM -0300, Jason Gunthorpe wrote:
    > On Wed, Jun 03, 2020 at 04:32:02PM -0700, Kees Cook wrote:
    > > 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.
    > >
    > > I 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.
    >
    > At least in the infiniband part I'm confident that old gcc versions
    > will print warnings after this patch.
    >
    > As the warnings are wrong, do we care? Should old gcc maybe just -Wno-
    > the warning?

    I *think* a lot of those are from -Wmaybe-uninitialized, but Linus just
    turned that off unconditionally in v5.7:
    78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized")

    I'll try to double-check with some older gcc versions. My compiler
    collection is mostly single-axis: lots of arches, not lots of versions. ;)

    > Otherwise the IB bits look ok to me
    >
    > Acked-by: Jason Gunthorpe <jgg@mellanox.com>

    Thanks!

    --
    Kees Cook

    \
     
     \ /
      Last update: 2020-06-04 17:00    [W:3.635 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site