[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <deb0ea2f-364a-59fe-0bcd-1f46557522f8@cumulusnetworks.com>
Date: Tue, 17 Jan 2017 16:16:09 -0700
From: David Ahern <dsa@...ulusnetworks.com>
To: David Miller <davem@...emloft.net>
Cc: rshearma@...cade.com, netdev@...r.kernel.org,
roopa@...ulusnetworks.com
Subject: Re: [PATCH net] lwtunnel: fix autoload of lwt modules
On 1/17/17 1:54 PM, David Miller wrote:
> From: David Ahern <dsa@...ulusnetworks.com>
> Date: Tue, 17 Jan 2017 13:46:22 -0700
>
>> In short seems like removing the dev + the current patch dropping
>> the lock fixes the current deadlock problem and should be fine.
>
> What about the state recorded by fib_get_nhs() and similar? There is
> a mapping from ifindex to ->nh_dev which would be invalidated if the
> RTNL semaphore is dropped.
As far as I can see through the call to build_state all device indices came from the user and have not been validated yet (once the dev arg to build_state is removed; sent that patch for net-next). The device index validation happens later in fib_create_info with the call to fib_check_nh (or dev_get_by_index for host scope).
I sent an alternative approach that pulls the module loading into a separate function that is called while creating the fib_config. Performance heavy for multipath but solves the autoload without delving into the restart problem.
Powered by blists - more mailing lists