Provides a little more type safety, but mostly this is just pushing slab_page() calls down. Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> --- mm/slub.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index 32a1bd4c8a88..a8ea2779edf4 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1308,32 +1308,32 @@ static noinline int alloc_debug_processing(struct kmem_cache *s, } static inline int free_consistency_checks(struct kmem_cache *s, - struct page *page, void *object, unsigned long addr) + struct slab *slab, void *object, unsigned long addr) { - if (!check_valid_pointer(s, page, object)) { - slab_err(s, page, "Invalid object pointer 0x%p", object); + if (!check_valid_pointer(s, slab_page(slab), object)) { + slab_err(s, slab_page(slab), "Invalid object pointer 0x%p", object); return 0; } - if (on_freelist(s, page, object)) { - object_err(s, page, object, "Object already free"); + if (on_freelist(s, slab_page(slab), object)) { + object_err(s, slab_page(slab), object, "Object already free"); return 0; } - if (!check_object(s, page, object, SLUB_RED_ACTIVE)) + if (!check_object(s, slab_page(slab), object, SLUB_RED_ACTIVE)) return 0; - if (unlikely(s != page->slab_cache)) { - if (!PageSlab(page)) { - slab_err(s, page, "Attempt to free object(0x%p) outside of slab", + if (unlikely(s != slab->slab_cache)) { + if (!slab_test_cache(slab)) { + slab_err(s, slab_page(slab), "Attempt to free object(0x%p) outside of slab", object); - } else if (!page->slab_cache) { + } else if (!slab->slab_cache) { pr_err("SLUB <none>: no slab for object 0x%p.\n", object); dump_stack(); } else - object_err(s, page, object, - "page slab pointer corrupt."); + object_err(s, slab_page(slab), object, + "slab pointer corrupt."); return 0; } return 1; @@ -1363,7 +1363,7 @@ static noinline int free_debug_processing( cnt++; if (s->flags & SLAB_CONSISTENCY_CHECKS) { - if (!free_consistency_checks(s, slab_page(slab), object, addr)) + if (!free_consistency_checks(s, slab, object, addr)) goto out; } -- 2.32.0