On Fri, 16 Feb 2007, Richard Knutsson wrote: > Andreas Schwab wrote: > > Richard Knutsson <ricknu-0@xxxxxxxxxxxxxx> writes: > > > > > > > Vignesh Babu BM wrote: > > > > > > > @@ -175,7 +176,7 @@ static int __init hugetlb_setup_sz(char *str) > > > > tr_pages = 0x15557000UL; > > > > size = memparse(str, &str); > > > > - if (*str || (size & (size-1)) || !(tr_pages & size) || > > > > + if (*str || !is_power_of_2(size) || !(tr_pages & size) || > > > > size <= PAGE_SIZE || > > > > size >= (1UL << PAGE_SHIFT << MAX_ORDER)) { > > > > printk(KERN_WARNING "Invalid huge page size specified\n"); > > > > > > > > > > > As we talked about before; is this really correct? > > > !is_power_of_2(0) == true while (0 & (0-1)) == 0. > > > > size == 0 is also covered by the next two conditions, so the > > overall value does not change. > > > Yes, but is it meant to state that 'size' is not a power of two? > Otherwise, imho, it should be left as-is. i think the above change is fine. as long as the final, overall semantics of the condition are identical, then there's no problem. rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://fsdev.net/wiki/index.php?title=Main_Page ======================================================================== - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |