Message ID | 20201203021806.692194-1-kuba@kernel.org (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] iavf: fix double-release of rtnl_lock | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net |
netdev/subject_prefix | success | Link |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 12 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On Wed, 2020-12-02 at 18:18 -0800, Jakub Kicinski wrote: > This code does not jump to exit on an error in iavf_lan_add_device(), > so the rtnl_unlock() from the normal path will follow. > > Fixes: b66c7bc1cd4d ("iavf: Refactor init state machine") > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > --- > drivers/net/ethernet/intel/iavf/iavf_main.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com> Did you want to apply this or did you want me to take it?
On Thu, 3 Dec 2020 17:04:14 +0000 Nguyen, Anthony L wrote: > On Wed, 2020-12-02 at 18:18 -0800, Jakub Kicinski wrote: > > This code does not jump to exit on an error in iavf_lan_add_device(), > > so the rtnl_unlock() from the normal path will follow. > > > > Fixes: b66c7bc1cd4d ("iavf: Refactor init state machine") > > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > > --- > > drivers/net/ethernet/intel/iavf/iavf_main.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com> > > Did you want to apply this or did you want me to take it? Please take it, I'm currently running with the assumption that you'll take all Intel patches (minus some corner cases, maybe, like patches which are part of some cross-tree series with dependencies). Thanks!
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Jakub Kicinski > Sent: czwartek, 3 grudnia 2020 18:41 > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com> > Cc: netdev@vger.kernel.org; intel-wired-lan@lists.osuosl.org; Pawlak, Jakub > <jakub.pawlak@intel.com> > Subject: Re: [Intel-wired-lan] [PATCH net] iavf: fix double-release of rtnl_lock > > On Thu, 3 Dec 2020 17:04:14 +0000 Nguyen, Anthony L wrote: > > On Wed, 2020-12-02 at 18:18 -0800, Jakub Kicinski wrote: > > > This code does not jump to exit on an error in > > > iavf_lan_add_device(), so the rtnl_unlock() from the normal path will > follow. > > > > > > Fixes: b66c7bc1cd4d ("iavf: Refactor init state machine") > > > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > > > --- > > > drivers/net/ethernet/intel/iavf/iavf_main.c | 4 +--- > > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com> > > > > Did you want to apply this or did you want me to take it? Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com> --------------------------------------------------------------------- Intel Technology Poland sp. z o.o. ul. Sowackiego 173 | 80-298 Gdask | Sd Rejonowy Gdask Pnoc | VII Wydzia Gospodarczy Krajowego Rejestru Sdowego - KRS 101882 | NIP 957-07-52-316 | Kapita zakadowy 200.000 PLN. Ta wiadomo wraz z zacznikami jest przeznaczona dla okrelonego adresata i moe zawiera informacje poufne. W razie przypadkowego otrzymania tej wiadomoci, prosimy o powiadomienie nadawcy oraz trwae jej usunicie; jakiekolwiek przegldanie lub rozpowszechnianie jest zabronione. This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by others is strictly prohibited.
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index 95543dfd4fe7..0a867d64d467 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -1829,21 +1829,19 @@ static int iavf_init_get_resources(struct iavf_adapter *adapter) } } adapter->netdev_registered = true; netif_tx_stop_all_queues(netdev); if (CLIENT_ALLOWED(adapter)) { err = iavf_lan_add_device(adapter); - if (err) { - rtnl_unlock(); + if (err) dev_info(&pdev->dev, "Failed to add VF to client API service list: %d\n", err); - } } dev_info(&pdev->dev, "MAC address: %pM\n", adapter->hw.mac.addr); if (netdev->features & NETIF_F_GRO) dev_info(&pdev->dev, "GRO is enabled\n"); adapter->state = __IAVF_DOWN; set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); rtnl_unlock();
This code does not jump to exit on an error in iavf_lan_add_device(), so the rtnl_unlock() from the normal path will follow. Fixes: b66c7bc1cd4d ("iavf: Refactor init state machine") Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- drivers/net/ethernet/intel/iavf/iavf_main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)