Subject: Re: [PATCH iwl-net 2/2] idpf: fix idpf_vc_core_init error path

From: Simon Horman <[email-masked]>
Date: Thu, 24 Oct 2024 15:39:39 +0100

On Tue, Oct 22, 2024 at 10:35:27AM -0700, Pavan Kumar Linga wrote:
> In an event where the platform running the device control plane
> is rebooted, reset is detected on the driver. It releases
> all the resources and waits for the reset to complete. Once the
> reset is done, it tries to build the resources back. At this
> time if the device control plane is not yet started, then
> the driver timeouts on the virtchnl message and retries to
> establish the mailbox again.
> 
> In the retry flow, mailbox is deinitialized but the mailbox
> workqueue is still alive and polling for the mailbox message.
> This results in accessing the released control queue leading to
> null-ptr-deref. Fix it by unrolling the work queue cancellation
> and mailbox deinitialization in the order which they got
> initialized.
> 
> Also remove the redundant scheduling of the mailbox task in
> idpf_vc_core_init.

I think it might be better to move this last change into a separate patch
targeted at iwl rather than iwl-net. It isn't a fix, right?

> 
> Fixes: 4930fbf419a7 ("idpf: add core init and interrupt request")
> Fixes: 34c21fa894a1 ("idpf: implement virtchnl transaction manager")
> Cc: [email-masked] # 6.9+
> Reviewed-by: Tarun K Singh <[email-masked]>
> Signed-off-by: Pavan Kumar Linga <[email-masked]>

...