ACK: [SRU][J:linux-bluefield][PATCH v1 0/2] mlxbf_gige: call request_irq() after NAPI initialized

Bartlomiej Zolnierkiewicz bartlomiej.zolnierkiewicz at canonical.com
Tue Apr 2 15:24:09 UTC 2024


Acked-by: Bartlomiej Zolnierkiewicz <bartlomiej.zolnierkiewicz at canonical.com>

On Mon, Apr 1, 2024 at 4:03 PM David Thompson <davthompson at nvidia.com> wrote:
>
> BugLink: https://bugs.launchpad.net/bugs/2059310
>
> SRU Justification:
>
> [Impact]
> The mlxbf_gige driver encounters a NULL pointer exception in
> mlxbf_gige_open() when kdump is enabled. The exception happens
> because there is a pending RX interrupt before the call to
> request_irq(RX IRQ) executes. Then, the RX IRQ handler fires
> immediately after this request_irq() completes. The RX IRQ handler
> runs "napi_schedule()" before NAPI is fully initialized via
> "netif_napi_add()" and "napi_enable()", both which happen later
> in the open() logic.
>
> [Fix]
> The logic in mlxbf_gige_open() must fully initialize NAPI before
> any calls to request_irq() execute.
>
> [Test Case]
> * Boot BF platform and bring up "oob_net0" interface
> * Enable kdump completely
> * Trigger kdump via "echo c > /proc/sysrq-trigger"
> * There should be no exceptions from mlxbf_gige driver
>
> [Regression Potential]
> There is low potential for regression as this brings in upstream content.
>
> [Other]
> None
>
> David Thompson (2):
>   mlxbf_gige: stop PHY during open() error paths
>   mlxbf_gige: call request_irq() after NAPI initialized
>
>  .../mellanox/mlxbf_gige/mlxbf_gige_main.c     | 21 ++++++++++++-------
>  1 file changed, 14 insertions(+), 7 deletions(-)
>



More information about the kernel-team mailing list