从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:net/mlx5e: Don't call cleanup on profile rollback failure - 描述:当profile rollback失败时,mlx5e_netdev_change_profile的netdev var被设置为NULL。为了避免在卸载驱动时不调用profile->cleanup导致的崩溃。 2. 触发条件: - 在测试过程中,当wq rescuer线程创建被中断(可能是由于Ctrl+C中断modprobe)时,会转换为ENOMEM错误。 - 这个错误导致了mlx5e_priv_init失败,导致profile rollback失败,因为信号仍然活跃,导致profile被保留为NULL,导致在_mlx5e_remove中崩溃。 3. 修复措施: - 修复了3ef14e463f6e ("net/mlx5e: Separate between netdev objects and mlx5e profiles initialization")。 - 修复了_call_trace函数中的错误。 4. 作者和审查者: - 作者:Cosmin Ratiu - 审查者:Dragos Tatulea 、Tariq Toukan 、Paolo Abeni 、Sasha Levin 5. Diffstat: - 1文件更改,3插入,1删除。 6. Diff内容: - 修改了drivers/net/ethernet/mellanox/mlx5/core/en_main.c文件,删除了mlx5e_remove函数中的profile->cleanup调用,并添加了条件检查。 这些信息表明,这个漏洞是由于在profile rollback失败时,没有正确处理profile->cleanup导致的。修复措施主要是通过修改代码,避免在这种情况下调用profile->cleanup。