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 2021/11/2 22:39, Vlastimil Babka wrote:
> 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.
> 
Yes, I will fix the same problem together in the v3 patch.

Thanks.


> 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