diff --git a/mm/slub.c b/mm/slub.c index edf766f1de63..8365c831256b 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -706,7 +706,12 @@ void object_err(struct kmem_cache *s, struct page *page, u8 *object, char *reason) { 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); + } } static __printf(3, 4) void slab_err(struct kmem_cache *s, struct page *page,