Re: [PATCH 1/1] mm/slab: remove duplicate check in create_cache()

From: Leizhen (ThunderTown)
Date: Mon Oct 07 2024 - 23:29:46 EST




On 2024/10/2 20:09, Vlastimil Babka wrote:
> On 8/21/24 05:26, Zhen Lei wrote:
>> The WARN_ON() check in static function create_cache() is done by its only
>> parent kmem_cache_create_usercopy() before calling it.
>> if (...
>> WARN_ON(size < usersize || size - usersize < useroffset))
>> usersize = useroffset = 0;
>> ...
>> s = create_cache(..., size, ..., useroffset, usersize, ...);
>>
>> Therefore, the WARN_ON() check in create_cache() can be safely removed.
>>
>> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
>
> Hi, sorry for the late reply.
It doesn't matter, because the compiler will optimize it. It just saves
the reader a little time.

> This code was heavily refactored as of 6.12-rc1. Can you check if it's still
> the case and send updated patch?

It is still there. I'll post v2 later.

> Thanks,
> Vlastimil
>
>> ---
>> mm/slab_common.c | 3 ---
>> 1 file changed, 3 deletions(-)
>>
>> diff --git a/mm/slab_common.c b/mm/slab_common.c
>> index 40b582a014b8f2f..3069c9095523484 100644
>> --- a/mm/slab_common.c
>> +++ b/mm/slab_common.c
>> @@ -210,9 +210,6 @@ static struct kmem_cache *create_cache(const char *name,
>> struct kmem_cache *s;
>> int err;
>>
>> - if (WARN_ON(useroffset + usersize > object_size))
>> - useroffset = usersize = 0;
>> -
>> err = -ENOMEM;
>> s = kmem_cache_zalloc(kmem_cache, GFP_KERNEL);
>> if (!s)
>
> .
>

--
Regards,
Zhen Lei