Blame SOURCES/0156-netdrv-net-mlx5e-Fix-crash-in-recovery-flow-without-.patch

d8f823
From f25db32978b9c901d1e89325b0fcf76e663a8baa Mon Sep 17 00:00:00 2001
d8f823
From: Alaa Hleihel <ahleihel@redhat.com>
d8f823
Date: Tue, 12 May 2020 10:54:23 -0400
d8f823
Subject: [PATCH 156/312] [netdrv] net/mlx5e: Fix crash in recovery flow
d8f823
 without devlink reporter
d8f823
d8f823
Message-id: <20200512105530.4207-58-ahleihel@redhat.com>
d8f823
Patchwork-id: 306928
d8f823
Patchwork-instance: patchwork
d8f823
O-Subject: [RHEL8.3 BZ 1789382 057/124] net/mlx5e: Fix crash in recovery flow without devlink reporter
d8f823
Bugzilla: 1789382
d8f823
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
d8f823
RH-Acked-by: Kamal Heib <kheib@redhat.com>
d8f823
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
d8f823
d8f823
Bugzilla: http://bugzilla.redhat.com/1789382
d8f823
Upstream: v5.6-rc3
d8f823
d8f823
commit 1ad6c43c6a7b8627240c6cc19c69e31fedc596a7
d8f823
Author: Aya Levin <ayal@mellanox.com>
d8f823
Date:   Wed Feb 12 15:17:25 2020 +0200
d8f823
d8f823
    net/mlx5e: Fix crash in recovery flow without devlink reporter
d8f823
d8f823
    When health reporters are not supported, recovery function is invoked
d8f823
    directly, not via devlink health reporters.
d8f823
d8f823
    In this direct flow, the recover function input parameter was passed
d8f823
    incorrectly and is causing a kernel oops. This patch is fixing the input
d8f823
    parameter.
d8f823
d8f823
    Following call trace is observed on rx error health reporting.
d8f823
d8f823
    Internal error: Oops: 96000007 [#1] PREEMPT SMP
d8f823
    Process kworker/u16:4 (pid: 4584, stack limit = 0x00000000c9e45703)
d8f823
    Call trace:
d8f823
    mlx5e_rx_reporter_err_rq_cqe_recover+0x30/0x164 [mlx5_core]
d8f823
    mlx5e_health_report+0x60/0x6c [mlx5_core]
d8f823
    mlx5e_reporter_rq_cqe_err+0x6c/0x90 [mlx5_core]
d8f823
    mlx5e_rq_err_cqe_work+0x20/0x2c [mlx5_core]
d8f823
    process_one_work+0x168/0x3d0
d8f823
    worker_thread+0x58/0x3d0
d8f823
    kthread+0x108/0x134
d8f823
d8f823
    Fixes: c50de4af1d63 ("net/mlx5e: Generalize tx reporter's functionality")
d8f823
    Signed-off-by: Aya Levin <ayal@mellanox.com>
d8f823
    Signed-off-by: Parav Pandit <parav@mellanox.com>
d8f823
    Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
d8f823
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
d8f823
d8f823
Signed-off-by: Alaa Hleihel <ahleihel@redhat.com>
d8f823
Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>
d8f823
---
d8f823
 drivers/net/ethernet/mellanox/mlx5/core/en/health.c | 2 +-
d8f823
 1 file changed, 1 insertion(+), 1 deletion(-)
d8f823
d8f823
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/health.c b/drivers/net/ethernet/mellanox/mlx5/core/en/health.c
d8f823
index 3a975641f902..20b907dc1e29 100644
d8f823
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/health.c
d8f823
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/health.c
d8f823
@@ -200,7 +200,7 @@ int mlx5e_health_report(struct mlx5e_priv *priv,
d8f823
 	netdev_err(priv->netdev, err_str);
d8f823
 
d8f823
 	if (!reporter)
d8f823
-		return err_ctx->recover(&err_ctx->ctx);
d8f823
+		return err_ctx->recover(err_ctx->ctx);
d8f823
 
d8f823
 	return devlink_health_report(reporter, err_str, err_ctx);
d8f823
 }
d8f823
-- 
d8f823
2.13.6
d8f823