Merge branches 'topic/documentation', 'topic/slub/fixes' and 'topic/urgent' into...
[safe/jmp/linux-2.6] / mm / slub.c
index aa34913..65ffda5 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1912,7 +1912,7 @@ static inline int calculate_order(int size)
         * Doh this slab cannot be placed using slub_max_order.
         */
        order = slab_order(size, 1, MAX_ORDER, 1);
-       if (order <= MAX_ORDER)
+       if (order < MAX_ORDER)
                return order;
        return -ENOSYS;
 }
@@ -2525,6 +2525,7 @@ __setup("slub_min_order=", setup_slub_min_order);
 static int __init setup_slub_max_order(char *str)
 {
        get_option(&str, &slub_max_order);
+       slub_max_order = min(slub_max_order, MAX_ORDER - 1);
 
        return 1;
 }