Ah, yes, I see. This patch was indeed missing the following bits in kasan_slab_free(): #ifdef CONFIG_SLAB if (cache->flags & SLAB_KASAN) { struct kasan_free_meta *free_info = get_free_info(cache, object); struct kasan_alloc_meta *alloc_info = get_alloc_info(cache, object); alloc_info->state = KASAN_STATE_FREE; set_track(&free_info->track); } #endif I'll include them in the next round of patches. On Fri, Feb 19, 2016 at 2:41 AM, Joonsoo Kim <js1304@xxxxxxxxx> wrote: >> On Mon, Feb 1, 2016 at 3:15 AM, Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> wrote: >>> On Thu, Jan 28, 2016 at 02:29:42PM +0100, Alexander Potapenko wrote: >>>> On Thu, Jan 28, 2016 at 1:37 PM, Alexander Potapenko <glider@xxxxxxxxxx> wrote: >>>> > >>>> > On Jan 28, 2016 8:44 AM, "Joonsoo Kim" <iamjoonsoo.kim@xxxxxxx> wrote: >>>> >> >>>> >> On Wed, Jan 27, 2016 at 07:25:07PM +0100, Alexander Potapenko wrote: >>>> >> > This patch adds KASAN hooks to SLAB allocator. >>>> >> > >>>> >> > This patch is based on the "mm: kasan: unified support for SLUB and >>>> >> > SLAB allocators" patch originally prepared by Dmitry Chernenkov. >>>> >> > >>>> >> > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx> >>>> >> > --- >>>> >> > Documentation/kasan.txt | 5 ++- >>>> >> >>>> >> ... >>>> >> >>>> >> > +#ifdef CONFIG_SLAB >>>> >> > +struct kasan_alloc_meta *get_alloc_info(struct kmem_cache *cache, >>>> >> > + const void *object) >>>> >> > +{ >>>> >> > + return (void *)object + cache->kasan_info.alloc_meta_offset; >>>> >> > +} >>>> >> > + >>>> >> > +struct kasan_free_meta *get_free_info(struct kmem_cache *cache, >>>> >> > + const void *object) >>>> >> > +{ >>>> >> > + return (void *)object + cache->kasan_info.free_meta_offset; >>>> >> > +} >>>> >> > +#endif >>>> >> >>>> >> I cannot find the place to store stack info for free. get_free_info() >>>> >> isn't used except print_object(). Plese let me know where. >>>> > >>>> > This is covered by other patches in this patchset. >>> >>> This should be covered by this patch. Stroing and printing free_info >>> is already done on SLUB and it is meaningful without quarantain. > > 2016-02-18 21:58 GMT+09:00 Alexander Potapenko <glider@xxxxxxxxxx>: >> However this info is meaningless without saved stack traces, which are >> only introduced in the stackdepot patch (see "[PATCH v1 5/8] mm, >> kasan: Stackdepot implementation. Enable stackdepot for SLAB") > > Not meaningless. You already did it for allocation caller without saved > stack traces. What makes difference between alloc/free? > > Thanks. -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind, leiten Sie diese bitte nicht weiter, informieren Sie den Absender und löschen Sie die E-Mail und alle Anhänge. Vielen Dank. This e-mail is confidential. If you are not the right addressee please do not forward it, please inform the sender, and please erase this e-mail including any attachments. Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href