Skip to content

Commit bf16bca

Browse files
shayshyikuba-moo
authored andcommitted
net/mlx5: lag: Check for LAG device before creating debugfs
__mlx5_lag_dev_add_mdev() may return 0 (success) even when an error occurs that is handled gracefully. Consequently, the initialization flow proceeds to call mlx5_ldev_add_debugfs() even when there is no valid LAG context. mlx5_ldev_add_debugfs() blindly created the debugfs directory and attributes. This exposed interfaces (like the members file) that rely on a valid ldev pointer, leading to potential NULL pointer dereferences if accessed when ldev is NULL. Add a check to verify that mlx5_lag_dev(dev) returns a valid pointer before attempting to create the debugfs entries. Fixes: 7f46a0b ("net/mlx5: Lag, add debugfs to query hardware lag state") Signed-off-by: Shay Drory <[email protected]> Reviewed-by: Mark Bloch <[email protected]> Signed-off-by: Tariq Toukan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent f0f367a commit bf16bca

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

  • drivers/net/ethernet/mellanox/mlx5/core/lag

drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,11 @@ DEFINE_SHOW_ATTRIBUTE(members);
160160

161161
void mlx5_ldev_add_debugfs(struct mlx5_core_dev *dev)
162162
{
163+
struct mlx5_lag *ldev = mlx5_lag_dev(dev);
163164
struct dentry *dbg;
164165

166+
if (!ldev)
167+
return;
165168
dbg = debugfs_create_dir("lag", mlx5_debugfs_get_dev_root(dev));
166169
dev->priv.dbg.lag_debugfs = dbg;
167170

0 commit comments

Comments
 (0)