On Thu, Feb 21, 2013 at 12:52 PM, Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> wrote: > This came to light when calling memblock allocator from arc port (for > copying flattended DT). If a "0" alignment is passed, the allocator > round_up() call incorrectly rounds up the size to 0. > > round_up(num, alignto) => ((num - 1) | (alignto -1)) + 1 > > While the obvious allocation failure causes kernel to panic, it is > better to warn the caller to fix the code. > > Tejun suggested that instead of BUG_ON(!align) - which might be > ineffective due to pending console init and such, it is better to > WARN_ON, and continue the boot with a reasonable default align. > > Caller passing @size need not be handled similarly as the subsequent > panic will indicate that anyhow. > > Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: Yinghai Lu <yinghai@xxxxxxxxxx> > Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Tejun Heo <tj@xxxxxxxxxx> Thanks. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>