Re: [PATCH v2] mm, slub: emit the "free" trace report before freeing memory in kmem_cache_free()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/2/21 14:53, Tang Yizhou wrote:
> On 2021/11/2 19:43, Yunfeng Ye wrote:
>> --- a/mm/slub.c
>> +++ b/mm/slub.c
>> @@ -3526,8 +3526,8 @@ void kmem_cache_free(struct kmem_cache *s, void *x)
>>  	s = cache_from_obj(s, x);
>>  	if (!s)
>>  		return;
>> -	slab_free(s, virt_to_head_page(x), x, NULL, 1, _RET_IP_);
>>  	trace_kmem_cache_free(_RET_IP_, x, s->name);
>> +	slab_free(s, virt_to_head_page(x), x, NULL, 1, _RET_IP_);
>>  }
> 
> It seems that kmem_cache_free() in mm/slab.c has the same problem.
> We can fix it. Thanks.

Doh, true. Should go best before the local_irq_save() there.
And also kmem_cache_free() in mm/slob.c.

Interestingly kfree() is already OK in all 3 implementations.

>>  EXPORT_SYMBOL(kmem_cache_free);
>> 
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux