[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAHsH6Gs1V3kD7SytSkUA+sjMCfkOB1OMQ_xNQse8+PJg6b_ASQ@mail.gmail.com>
Date: Thu, 26 May 2022 10:35:09 +0300
From: Eyal Birger <eyal.birger@...il.com>
To: David Ahern <dsahern@...nel.org>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, netdev@...r.kernel.org
Subject: Re: [PATCH net] vrf: fix vrf driver unloading
On Thu, May 26, 2022 at 12:12 AM David Ahern <dsahern@...nel.org> wrote:
>
> On 5/25/22 2:46 PM, Eyal Birger wrote:
> > The commit referenced in the "Fixes" tag has removed the vrf driver
> > cleanup function leading to a "Device or resource busy" error when
> > trying to rmmod vrf.
> >
> > Fix by re-introducing the cleanup function with the relevant changes.
> >
> > Fixes: 9ab179d83b4e ("net: vrf: Fix dst reference counting")
> > Signed-off-by: Eyal Birger <eyal.birger@...il.com>
> >
> > ----
> >
> > Note: the commit message in 9ab179d83b4e did not document it
> > and it is not apparent to me why the ability to rmmod the driver is
> > linked to that change, but maybe there's some hidden reason.
>
> dst output handler references VRF functions. You can not remove the
> module until all dst references have been dropped. Since there is no way
> to know and the rmmod command can not just hang waiting for dst entries
> to be dropped the module can not be unloaded. The same is true for IPv6
> as module; it can not be removed and I believe for the same reason.
>
I thought it was related to such cleanup, but couldn't see why the device
unregistration wouldn't void the dsts.
Probably better be safe than sorry :)
Thanks for the clarification.
Eyal.
Powered by blists - more mailing lists