Commit 0b8ad536 authored by David Rientjes's avatar David Rientjes Committed by Pekka Enberg

slqb: enforce MAX_ORDER

Slabs may not be allocated at MAX_ORDER or higher.

Cc: Nick Piggin <npiggin@suse.de>
Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
parent 6e19df96
...@@ -872,6 +872,7 @@ __setup("slqb_debug", setup_slqb_debug); ...@@ -872,6 +872,7 @@ __setup("slqb_debug", setup_slqb_debug);
static int __init setup_slqb_min_order(char *str) static int __init setup_slqb_min_order(char *str)
{ {
get_option(&str, &slqb_min_order); get_option(&str, &slqb_min_order);
slqb_min_order = min(slqb_min_order, MAX_ORDER - 1);
return 1; return 1;
} }
...@@ -1840,8 +1841,8 @@ static int calculate_order(int size) ...@@ -1840,8 +1841,8 @@ static int calculate_order(int size)
* This size cannot fit in order-1. Allow bigger orders, but * This size cannot fit in order-1. Allow bigger orders, but
* forget about trying to save space. * forget about trying to save space.
*/ */
order = slab_order(size, MAX_ORDER, 0); order = slab_order(size, MAX_ORDER - 1, 0);
if (order <= MAX_ORDER) if (order < MAX_ORDER)
return order; return order;
return -ENOSYS; return -ENOSYS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment