From: Paolo Abeni <pab...@redhat.com> Date: Wed, 28 Feb 2018 10:59:27 +0100
> This changeset moves ipvlan address under RCU protection, using > a per ipvlan device spinlock to protect list mutation and RCU > read access to protect list traversal. > > Also explicitly use RCU read lock to traverse the per port > ipvlans list, so that we can now perform a full address lookup > without asserting the RTNL lock. > > Overall this allows the ipvlan driver to check fully for duplicate > addresses - before this commit ipv6 addresses assigned by autoconf > via prefix delegation where accepted without any check - and avoid > the following rntl assertion failure still in the same code path: ... > v1 -> v2: drop unneeded in_softirq check in ipvlan_addr6_validator_event() > > Fixes: e9997c2938b2 ("ipvlan: fix check for IP addresses in control path") > Signed-off-by: Paolo Abeni <pab...@redhat.com> Nice work, thanks for tackling this locking problem. Applied.