]> www.infradead.org Git - users/willy/linux.git/commitdiff
mm/slub: Convert print_trailer() to struct slab
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sat, 2 Oct 2021 02:45:02 +0000 (22:45 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 4 Oct 2021 13:18:00 +0000 (09:18 -0400)
This is mostly pushing slab_page() calls down.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
mm/slub.c

index a93a6d679de2e5d3ca43af8c2ffd85a93fc1e104..9651586a3450e05384792b91f3dd90f0268c16bd 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -816,14 +816,14 @@ static bool freelist_corrupted(struct kmem_cache *s, struct slab *slab,
        return false;
 }
 
-static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p)
+static void print_trailer(struct kmem_cache *s, struct slab *slab, u8 *p)
 {
        unsigned int off;       /* Offset of last byte */
-       u8 *addr = page_address(page);
+       u8 *addr = slab_address(slab);
 
        print_tracking(s, p);
 
-       print_page_info(page);
+       print_page_info(slab_page(slab));
 
        pr_err("Object 0x%p @offset=%tu fp=0x%p\n\n",
               p, p - addr, get_freepointer(s, p));
@@ -862,7 +862,7 @@ static void object_err(struct kmem_cache *s, struct slab *slab,
                return;
 
        slab_bug(s, "%s", reason);
-       print_trailer(s, slab_page(slab), object);
+       print_trailer(s, slab, object);
        add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
 }
 
@@ -932,7 +932,7 @@ static int check_bytes_and_report(struct kmem_cache *s, struct slab *slab,
        pr_err("0x%p-0x%p @offset=%tu. First byte 0x%x instead of 0x%x\n",
                                        fault, end - 1, fault - addr,
                                        fault[0], value);
-       print_trailer(s, slab_page(slab), object);
+       print_trailer(s, slab, object);
        add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
 
 skip_bug_print: