[patch] slqb: enforce MAX_ORDER

From: David Rientjes
Date: Sun Apr 26 2009 - 15:57:19 EST


Slabs may not be allocated at MAX_ORDER or higher.

Cc: Nick Piggin <npiggin@xxxxxxx>
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
---
mm/slqb.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/mm/slqb.c b/mm/slqb.c
--- a/mm/slqb.c
+++ b/mm/slqb.c
@@ -872,6 +872,7 @@ __setup("slqb_debug", setup_slqb_debug);
static int __init setup_slqb_min_order(char *str)
{
get_option(&str, &slqb_min_order);
+ slqb_min_order = min(slqb_min_order, MAX_ORDER - 1);

return 1;
}
@@ -1840,8 +1841,8 @@ static int calculate_order(int size)
* This size cannot fit in order-1. Allow bigger orders, but
* forget about trying to save space.
*/
- order = slab_order(size, MAX_ORDER, 0);
- if (order <= MAX_ORDER)
+ order = slab_order(size, MAX_ORDER - 1, 0);
+ if (order < MAX_ORDER)
return order;

return -ENOSYS;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/