Subject: Re: [PATCH net-next 7/9] net: ipmr: remove SLAB_PANIC

From: Nikolay Aleksandrov <[email-masked]>
Date: Sat, 21 Nov 2015 15:27:03 +0100

On 11/21/2015 03:23 PM, Eric Dumazet wrote:
> On Sat, 2015-11-21 at 14:01 +0100, Nikolay Aleksandrov wrote:
>> From: Nikolay Aleksandrov <[email-masked]>
>>
>> It's not necessary to panic upon allocation failure, returning an error
>> at that point is okay because user-space won't be able to use any of the
>> ops since they didn't get registered and the default table is null.
>>
>> Signed-off-by: Nikolay Aleksandrov <[email-masked]>
>> ---
>>  net/ipv4/ipmr.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
>> index a006d96d6cd9..2c7fa584a274 100644
>> --- a/net/ipv4/ipmr.c
>> +++ b/net/ipv4/ipmr.c
>> @@ -2675,7 +2675,7 @@ int __init ip_mr_init(void)
>>  
>>  	mrt_cachep = kmem_cache_create("ip_mrt_cache",
>>  				       sizeof(struct mfc_cache),
>> -				       0, SLAB_HWCACHE_ALIGN | SLAB_PANIC,
>> +				       0, SLAB_HWCACHE_ALIGN,
>>  				       NULL);
>>  	if (!mrt_cachep)
>>  		return -ENOMEM;
> 
> This runs at boot time.
> 
> I very much prefer a panic instead of having to deal with a host with a
> probable bug in mm layer at this point.
> 
Right, I was unsure about this one, I tried to rely on the ipmr_get_table() returning NULL but
I guess it's better to be safe than sorry.
I'll respin with the panic in place and removed null check.

> For IPv6, it is a different matter as it might be a module, thus
> ip6_mr_init() does not use SLAB_PANIC
Yep, I saw. It wasn't the reason I removed this one.

Thanks for the review!