From: David Ahern <d...@cumulusnetworks.com> Date: Wed, 17 Feb 2016 12:01:10 -0700
> On 2/17/16 10:00 AM, Nikolay Aleksandrov wrote: >> From: Nikolay Aleksandrov <niko...@cumulusnetworks.com> >> >> When I used netdev_for_each_lower_dev in commit bad531623253 ("vrf: >> remove slave queue and private slave struct") I thought that it acts >> like netdev_for_each_lower_private and can be used to remove the >> current >> device from the list while walking, but unfortunately it acts more >> like >> netdev_for_each_lower_private_rcu and doesn't allow it. The difference >> is where the "iter" points to, right now it points to the current >> element >> and that makes it impossible to remove it. Change the logic to be >> similar to netdev_for_each_lower_private and make it point to the >> "next" >> element so we can safely delete the current one. VRF is the only such >> user right now, there's no change for the read-only users. ... >> Fixes: bad531623253 ("vrf: remove slave queue and private slave >> struct") >> Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com> >> --- >> include/linux/netdevice.h | 2 +- >> net/core/dev.c | 4 ++-- >> 2 files changed, 3 insertions(+), 3 deletions(-) > > Solves the problem for me. Thanks for the quick turnaround, Nik. > > Reviewed-by / Tested-by: David Ahern <d...@cumulusnetworks.com> David, please explicitly list these tags one by one, patchwork is not able to pick them up if you try to free-form the tags. I had to incorporate them by hand, but that makes more work for me. Applied, thanks.