linux/include/linux/mlx5
Akiva Goldberger f9caccdd42 net/mlx5: Add a timeout to acquire the command queue semaphore
[ Upstream commit 485d65e135 ]

Prevent forced completion handling on an entry that has not yet been
assigned an index, causing an out of bounds access on idx = -22.
Instead of waiting indefinitely for the sem, blocking flow now waits for
index to be allocated or a sem acquisition timeout before beginning the
timer for FW completion.

Kernel log example:
mlx5_core 0000:06:00.0: wait_func_handle_exec_timeout:1128:(pid 185911): cmd[-22]: CREATE_UCTX(0xa04) No done completion

Fixes: 8e715cd613 ("net/mlx5: Set command entry semaphore up once got index free")
Signed-off-by: Akiva Goldberger <agoldberger@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://lore.kernel.org/r/20240509112951.590184-5-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-06-12 11:11:53 +02:00
..
cq.h net/mlx5: Use mlx5_cmd_do() in core create_{cq,dct} 2022-02-23 15:21:59 -08:00
device.h RDMA/mlx5: Send events from IB driver about device affiliation state 2023-12-20 17:01:44 +01:00
doorbell.h net/mlx5: Remove spinlock support from mlx5_write64 2019-04-02 12:49:37 -07:00
driver.h net/mlx5: Add a timeout to acquire the command queue semaphore 2024-06-12 11:11:53 +02:00
eq.h net/mlx5: Introduce API for bulk request and release of IRQs 2022-01-06 16:22:52 -08:00
eswitch.h net/mlx5e: Handle IPsec offload for RX datapath in switchdev mode 2023-08-02 18:37:29 -07:00
fs.h net/mlx5: Bridge, fix multicast packets sent to uplink 2024-01-31 16:19:02 -08:00
fs_helpers.h net/mlx5: Remove unused functions 2022-09-27 12:50:27 -07:00
macsec.h net/mlx5: Add RoCE MACsec steering infrastructure in core 2023-08-20 12:35:24 +03:00
mlx5_ifc.h net/mlx5: Check capability for fw_reset 2024-03-15 10:48:15 -04:00
mlx5_ifc_fpga.h net/mlx5: Remove from FPGA IFC file not-needed definitions 2022-09-27 12:50:27 -07:00
mlx5_ifc_vdpa.h vdpa/mlx5: Implement susupend virtqueue callback 2022-08-11 04:26:08 -04:00
mpfs.h {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table 2021-05-18 23:01:48 -07:00
port.h net/mlx5: Move needed PTYS functions to core layer 2023-03-15 22:12:08 -07:00
qp.h RDMA/mlx5: Fix fortify source warning while accessing Eth segment 2024-03-26 18:19:11 -04:00
rsc_dump.h net/mlx5: Add support in query QP, CQ and MKEY segments 2020-06-23 17:26:10 +03:00
transobj.h net/mlx5e: Fix page reclaim for dead peer hairpin 2021-06-09 17:20:03 -07:00
vport.h net/mlx5: Update vport caps query/set for EC VFs 2023-06-09 18:40:51 -07:00