diff --git a/mm/slub.c b/mm/slub.c index f95ae136a069..97ac0c7da0f0 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -864,7 +864,12 @@ void object_err(struct kmem_cache *s, struct page *page, return; slab_bug(s, "%s", reason); - print_trailer(s, page, object); + if (!object || !check_valid_pointer(s, page, object)) { + print_page_info(page); + pr_err("Invalid pointer 0x%p\n", object); + } else { + print_trailer(s, page, object); + } add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE); }