On 2/26/18 12:08 PM, David Miller wrote:
> From: David Ahern <dsah...@gmail.com>
> Date: Sun, 25 Feb 2018 11:47:12 -0800
> 
>> A later patch removes rt6i_table from rt6_info. Save the ipv6
>> table for a VRF in net_vrf. fib tables can not be deleted so
>> no reference counting or locking is required.
>>
>> Signed-off-by: David Ahern <dsah...@gmail.com>
> 
> Is this change really OK all by itself?

should. When you look at references to rt6i_table the only one for the
data path is changing sernum when inserting an exception. Exceptions are
not relevant for this special VRF dst as it is used for an internal
redirection before packets leave the box.

> 
> Sure, you fix up the vrf code operating on such 'rt6' objects to
> not dereference the ->rt6i_table.
> 
> But any other code whatsoever that looks at this rt6 object (dumping,
> other operations in the ipv6 stack data or control plane, etc.) can
> legitimately expect always to see a non-NULL value here.
> 
> I really don't see how this can be OK and leave your patch series
> properly bisectable.
> 

But if you want me to be extra cautious I can leave the rt6i_table
setting and remove it in patch 20 (remove unneeded rt6_info elements).

Reply via email to