[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1173200555.9349.2.camel@localhost.localdomain>
Date: Tue, 06 Mar 2007 18:02:35 +0100
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: Andrew Morton <akpm@...l.org>, Linus Torvalds <torvalds@...l.org>
Subject: get_order() broken !
Ok, maybe I have lots of shit in my eyes.... but it looks like get_order
in asm-generic/page.h is broken.
AFAIK, get_order() should round up (and we have code here or there
assuming such).
However, it seems to assume that ilog2 rounds up, which it doesn't. It
rounds down. At least the generic implementation seems to do so and the
powerpc optimized one too.
So I end up for example with get_order(0x1020) returning ... 0 (which
explains some memory corruption problems I'm having on ppc32 among
others0.
So who is right and who is wrong ? Should we audit all users of these
things ?
Cheers,
Ben.
-
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