On 4/13/17 6:48 AM, Robert Shearman wrote:
>> the patches look ok to me, but in testing them I see I refcnt problem.
>> simple reproducer:
>>
>> ip li add red type vrf table 254
>> ip link set dev eth1 vrf red
>> ip addr add 127.0.0.1/8 dev red
>> ip link set dev eth1 up
>> ip li set red up
>> ping -c1 -w1 -I red 127.0.0.1
>> ip li del red
>> --> hangs with 'uregister_netdevice: waiting for red to become free.'
> 
> Right, I've reproduced the same and it occurs even without using the
> main table and I believe it has been introduced within the last week.

The cached dst on sockets is one known place that causes a hang on a
delete. Basically the delete stalls until the sockets are closed. I have
a patch for sk_rx_dst which is the one I chased down last week.
sk_dst_cache is another possibility.

Neither of those should be at play with the above example because the
ping command runs and then exits.

Reply via email to