We needlessly duplicate code. Also make check_valid_pointer inline. Signed-off-by: Christoph LAemter --- mm/slub.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) Index: slub/mm/slub.c =================================================================== --- slub.orig/mm/slub.c 2007-05-07 13:52:44.000000000 -0700 +++ slub/mm/slub.c 2007-05-07 13:52:47.000000000 -0700 @@ -407,9 +407,8 @@ static int check_bytes(u8 *start, unsign return 1; } - -static int check_valid_pointer(struct kmem_cache *s, struct page *page, - void *object) +static inline int check_valid_pointer(struct kmem_cache *s, + struct page *page, const void *object) { void *base; @@ -1803,13 +1802,7 @@ int kmem_ptr_validate(struct kmem_cache /* No slab or wrong slab */ return 0; - addr = page_address(page); - if (object < addr || object >= addr + s->objects * s->size) - /* Out of bounds */ - return 0; - - if ((object - addr) % s->size) - /* Improperly aligned */ + if (!check_valid_pointer(s, page, object)) return 0; /* -- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org