[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071217191017.117c61ff.dada1@cosmosbay.com>
Date: Mon, 17 Dec 2007 19:10:17 +0100
From: Eric Dumazet <dada1@...mosbay.com>
To: "Ray Lee" <ray-lk@...rabbit.org>
Cc: "Linus Torvalds" <torvalds@...ux-foundation.org>,
"Herbert Xu" <herbert@...dor.apana.org.au>,
"John Reiser" <jreiser@...wagon.com>,
"Andrew Morton" <akpm@...ux-foundation.org>, security@...nel.org,
tytso@....edu,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
mpm@...enic.com, linux-sparse@...r.kernel.org
Subject: Re: Signed divides vs shifts (Re: [Security] /dev/urandom uses
uninit bytes, leaks user data)
On Mon, 17 Dec 2007 10:05:35 -0800
"Ray Lee" <ray-lk@...rabbit.org> wrote:
> On Dec 17, 2007 9:55 AM, Eric Dumazet <dada1@...mosbay.com> wrote:
> > - mid = (last - first) / 2 + first;
> > + while (low <= high) {
> > + mid = (low + high) / 2;
>
> I think you just introduced a bug. Think about what happens if
> low=high=MAX_LONG/2 + 1.
>
Fortunatly this is not possible :)
Hint : sizeof(struct exception_table_entry) is >= 8
so high is garanteed to be <= MAX_LONG/8
--
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