diff mbox series

[iwl-next,v2] idpf: cancel mailbox work in error path

Message ID 20231005194016.45237-1-pavan.kumar.linga@intel.com
State Accepted
Delegated to: Anthony Nguyen
Headers show
Series [iwl-next,v2] idpf: cancel mailbox work in error path | expand

Commit Message

Pavan Kumar Linga Oct. 5, 2023, 7:40 p.m. UTC
In idpf_vc_core_init, the mailbox work is queued
on a mailbox workqueue but it is not cancelled on error.
This results in a call trace when idpf_mbx_task tries
to access the freed mailbox queue pointer. Fix it by
cancelling the mailbox work in the error path.

Fixes: 4930fbf419a7 ("idpf: add core init and interrupt request")
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
---
v2:
- added 'Fixes' tag with the commit id this patch fixes

 drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Singh, Krishneil K Oct. 20, 2023, 3:21 p.m. UTC | #1
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Pavan Kumar Linga
> Sent: Thursday, October 5, 2023 12:40 PM
> To: intel-wired-lan@lists.osuosl.org
> Cc: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Linga, Pavan Kumar
> <pavan.kumar.linga@intel.com>; Drewek, Wojciech
> <wojciech.drewek@intel.com>; Tantilov, Emil S <emil.s.tantilov@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v2] idpf: cancel mailbox work in
> error path
> 
> In idpf_vc_core_init, the mailbox work is queued
> on a mailbox workqueue but it is not cancelled on error.
> This results in a call trace when idpf_mbx_task tries
> to access the freed mailbox queue pointer. Fix it by
> cancelling the mailbox work in the error path.
> 
> Fixes: 4930fbf419a7 ("idpf: add core init and interrupt request")
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
> ---
> v2:
> - added 'Fixes' tag with the commit id this patch fixes
> 
>  drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
Tested-by: Krishneil Singh  <krishneil.k.singh@intel.com>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
index 9bc85b2f1709..cbb3f104f899 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
+++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
@@ -3140,6 +3140,7 @@  int idpf_vc_core_init(struct idpf_adapter *adapter)
 
 err_intr_req:
 	cancel_delayed_work_sync(&adapter->serv_task);
+	cancel_delayed_work_sync(&adapter->mbx_task);
 	idpf_vport_params_buf_rel(adapter);
 err_netdev_alloc:
 	kfree(adapter->vports);