[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <544AF3E6.7090003@oracle.com>
Date: Fri, 24 Oct 2014 20:50:46 -0400
From: Sasha Levin <sasha.levin@...cle.com>
To: "H. Peter Anvin" <hpa@...or.com>,
Andreas Dilger <adilger@...ger.ca>,
Dmitry Vyukov <dvyukov@...gle.com>
CC: Peter Zijlstra <peterz@...radead.org>,
"Theodore Ts'o" <tytso@....edu>,
Daniel Borkmann <dborkman@...hat.com>,
Andrey Ryabinin <a.ryabinin@...sung.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Michal Marek <mmarek@...e.cz>,
"x86@...nel.org" <x86@...nel.org>, linux-kbuild@...r.kernel.org,
LKML <linux-kernel@...r.kernel.org>,
Andreas Dilger <adilger.kernel@...ger.ca>,
Konstantin Khlebnikov <koct9i@...il.com>
Subject: Re: drivers: random: Shift out-of-bounds in _mix_pool_bytes
On 10/24/2014 06:22 PM, H. Peter Anvin wrote:
>> By the principle of least surprise, I would expect "__u32 >> N", where
>> > N >= 32 to return zero instead of random garbage. For N < 32 it will
>> > return progressively smaller numbers, until it has shifted away all of
>> > the set bits, at which turn it will return 0. For it suddenly to jump
>> > up once N = 32 is used, is counter-intuitive.
>> >
> That's why it is undefined.
Now I'm curious about things like "memcpy(ptr, NULL, 0)". According to the
standard they're undefined, and since we're using gcc's implementation for
memcpy() we are doing "undefined memcpy" in quite a few places in the kernel.
Is it an issue, or would you expect memcpy() to not deref the "from" ptr
since length is 0?
Thanks,
Sasha
--
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