mm/slub: Make object_err() static
There are no callers outside of mm/slub.c anymore. Move freelist_corrupted() that calls object_err() to avoid a need for forward declaration. Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Reviewed-by: Roman Gushchin <guro@fb.com>
This commit is contained in:
parent
c798154311
commit
ae16d059f8
|
@ -156,9 +156,6 @@ static inline void sysfs_slab_release(struct kmem_cache *s)
|
|||
}
|
||||
#endif
|
||||
|
||||
void object_err(struct kmem_cache *s, struct page *page,
|
||||
u8 *object, char *reason);
|
||||
|
||||
void *fixup_red_left(struct kmem_cache *s, void *p);
|
||||
|
||||
static inline void *nearest_obj(struct kmem_cache *cache, struct page *page,
|
||||
|
|
30
mm/slub.c
30
mm/slub.c
|
@ -822,20 +822,6 @@ static void slab_fix(struct kmem_cache *s, char *fmt, ...)
|
|||
va_end(args);
|
||||
}
|
||||
|
||||
static bool freelist_corrupted(struct kmem_cache *s, struct page *page,
|
||||
void **freelist, void *nextfree)
|
||||
{
|
||||
if ((s->flags & SLAB_CONSISTENCY_CHECKS) &&
|
||||
!check_valid_pointer(s, page, nextfree) && freelist) {
|
||||
object_err(s, page, *freelist, "Freechain corrupt");
|
||||
*freelist = NULL;
|
||||
slab_fix(s, "Isolate corrupted freechain");
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p)
|
||||
{
|
||||
unsigned int off; /* Offset of last byte */
|
||||
|
@ -875,7 +861,7 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p)
|
|||
dump_stack();
|
||||
}
|
||||
|
||||
void object_err(struct kmem_cache *s, struct page *page,
|
||||
static void object_err(struct kmem_cache *s, struct page *page,
|
||||
u8 *object, char *reason)
|
||||
{
|
||||
if (slab_add_kunit_errors())
|
||||
|
@ -886,6 +872,20 @@ void object_err(struct kmem_cache *s, struct page *page,
|
|||
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
||||
|
||||
static bool freelist_corrupted(struct kmem_cache *s, struct page *page,
|
||||
void **freelist, void *nextfree)
|
||||
{
|
||||
if ((s->flags & SLAB_CONSISTENCY_CHECKS) &&
|
||||
!check_valid_pointer(s, page, nextfree) && freelist) {
|
||||
object_err(s, page, *freelist, "Freechain corrupt");
|
||||
*freelist = NULL;
|
||||
slab_fix(s, "Isolate corrupted freechain");
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static __printf(3, 4) void slab_err(struct kmem_cache *s, struct page *page,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue