Hi Thomas, On Wed, 01 Apr 2020 12:25:25 +0200 Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > > Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> writes: > > > > On Mon, 30 Mar 2020 13:47:46 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > >> > >> After merging the tip tree, today's linux-next build (arm > >> multi_v7_defconfig) produced this warning: > >> > >> kernel/futex.c: In function 'do_futex': > >> kernel/futex.c:1676:17: warning: 'oldval' may be used uninitialized in this function [-Wmaybe-uninitialized] > >> 1676 | return oldval == cmparg; > >> | ~~~~~~~^~~~~~~~~ > >> kernel/futex.c:1652:6: note: 'oldval' was declared here > >> 1652 | int oldval, ret; > >> | ^~~~~~ > >> > >> Introduced by commit > >> > >> a08971e9488d ("futex: arch_futex_atomic_op_inuser() calling > >> conventions change") > > Huch? > > >> but I don't arm-linux-gnueabi-gcc (Debian 9.2.1-21) 9.2.1 20191130see how it makes this difference :-( > > Me neither. Which compiler version? arm-linux-gnueabi-gcc (Debian 9.2.1-21) 9.2.1 20191130 > I'm using arm-linux-gnueabi-gcc (Debian 8.3.0-2) 8.3.0 which does not > show that oddity. I assume it is because of the change to arch_futex_atomic_op_inuser() for arm and the compiler is not clever enough to work out that the early return from arch_futex_atomic_op_inuser() means that oldval is not referenced in its caller. -- Cheers, Stephen Rothwell
Attachment:
pgp1CjIbbJzhq.pgp
Description: OpenPGP digital signature