On Thu, 4 Feb 2016, Joonsoo Kim wrote:
> --- a/include/linux/slub_def.h
> +++ b/include/linux/slub_def.h
> @@ -77,6 +77,7 @@ struct kmem_cache {
>       int refcount;           /* Refcount for slab cache destroy */
>       void (*ctor)(void *);
>       int inuse;              /* Offset to metadata */
> +     int red_left_pad;       /* Left redzone padding size */
>       int align;              /* Alignment */
>       int reserved;           /* Reserved bytes at the end of slabs */

This is debugging related so its not a priority field.Please add the field
after the non debugging fields.

>
>  #include "internal.h"
>
> +#ifdef CONFIG_KASAN
> +#include "kasan/kasan.h"
> +#endif
> +
>  /*

??

> @@ -4270,9 +4337,12 @@ static void process_slab(struct loc_track *t, struct 
> kmem_cache *s,
>       bitmap_zero(map, page->objects);
>       get_map(s, page, map);
>
> -     for_each_object(p, s, addr, page->objects)
> +     for_each_object(p, s, addr, page->objects) {
> +             void *object = fixup_red_left(s, p);
> +

Change for_each_object instead  to give us the right pointer?


>               if (!test_bit(slab_index(p, s, addr), map))
> -                     add_location(t, s, get_track(s, p, alloc));
> +                     add_location(t, s, get_track(s, object, alloc));
> +     }
>  }
>
>  static int list_locations(struct kmem_cache *s, char *buf,
>

Reply via email to