[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMuHMdWNKJP6wA0AGvEN1dEKNw9Vux+5sSv=6An8M-TdBCCGZA@mail.gmail.com>
Date: Mon, 25 Nov 2013 11:05:39 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: David Howells <dhowells@...hat.com>
Cc: keyrings@...ux-nfs.org, linux-security-module@...r.kernel.org,
"open list:NFS, SUNRPC, AND..." <linux-nfs@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: assoc_array.c uninitialized variable (was: Re: [PATCH 02/10] Add
a generic associative array implementation.)
Hi David,
On Mon, Nov 25, 2013 at 10:36 AM, David Howells <dhowells@...hat.com> wrote:
> Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
>
>> > + int slot, next_slot, free_slot, i, j;
>>
>> lib/assoc_array.c: In function ‘assoc_array_insert_into_terminal_node’:
>> lib/assoc_array.c:502: warning: ‘j’ may be used uninitialized in this function
>
> What compiler are you using? Mine doesn't show this.
Good old 4.2.1. Newer compilers don't give these warnings anymore, presumably
because there were too many false positives. But from time to time, there's
a real issue.
> Technically, the compiler is correct - but we should never see the variable
> undefined following the found_slot_for_multiple_occupancy unless the tree
> changes under us. Out of a set of N+1 integers that can only be in the range
> 0..N-1 there must be at least two the same.
OK.
> I guess I could preclear j to make the warning go away.
Please use a big number instead of zero, so the
BUG_ON(j >= ASSOC_ARRAY_FAN_OUT + 1);
will catch it later.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists