• 公告ID (KylinSec-SA-2024-4693)

摘要:

In the Linux kernel, the following vulnerability has been resolved:

net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path

Prior to this patch in case mlx5_core_destroy_cq() failed it returns
without completing all destroy operations and that leads to memory leak.
Instead, complete the destroy flow before return error.

Also move mlx5_debug_cq_remove() to the beginning of mlx5_core_destroy_cq()
to be symmetrical with mlx5_core_create_cq().

kmemleak complains on:

unreferenced object 0xc000000038625100 (size 64):
comm "ethtool", pid 28301, jiffies 4298062946 (age 785.380s)
hex dump (first 32 bytes):
60 01 48 94 00 00 00 c0 b8 05 34 c3 00 00 00 c0 `.H.......4.....
02 00 00 00 00 00 00 00 00 db 7d c1 00 00 00 c0 ..........}.....
backtrace:
[<000000009e8643cb&gt;] add_res_tree+0xd0/0x270 [mlx5_core]
[<00000000e7cb8e6c&gt;] mlx5_debug_cq_add+0x5c/0xc0 [mlx5_core]
[<000000002a12918f&gt;] mlx5_core_create_cq+0x1d0/0x2d0 [mlx5_core]
[<00000000cef0a696&gt;] mlx5e_create_cq+0x210/0x3f0 [mlx5_core]
[<000000009c642c26&gt;] mlx5e_open_cq+0xb4/0x130 [mlx5_core]
[<0000000058dfa578&gt;] mlx5e_ptp_open+0x7f4/0xe10 [mlx5_core]
[<0000000081839561&gt;] mlx5e_open_channels+0x9cc/0x13e0 [mlx5_core]
[<0000000009cf05d4&gt;] mlx5e_switch_priv_channels+0xa4/0x230
[mlx5_core]
[<0000000042bbedd8&gt;] mlx5e_safe_switch_params+0x14c/0x300
[mlx5_core]
[<0000000004bc9db8&gt;] set_pflag_tx_port_ts+0x9c/0x160 [mlx5_core]
[<00000000a0553443&gt;] mlx5e_set_priv_flags+0xd0/0x1b0 [mlx5_core]
[<00000000a8f3d84b&gt;] ethnl_set_privflags+0x234/0x2d0
[<00000000fd27f27c&gt;] genl_family_rcv_msg_doit+0x108/0x1d0
[<00000000f495e2bb&gt;] genl_family_rcv_msg+0xe4/0x1f0
[<00000000646c5c2c&gt;] genl_rcv_msg+0x78/0x120
[<00000000d53e384e&gt;] netlink_rcv_skb+0x74/0x1a0

安全等级: Low

公告ID: KylinSec-SA-2024-4693

发布日期: 2024年6月6日

关联CVE: CVE-2021-47438  

  • 详细介绍

1. 漏洞描述

   

In the Linux kernel, the following vulnerability has been resolved:

net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path

Prior to this patch in case mlx5_core_destroy_cq() failed it returns
without completing all destroy operations and that leads to memory leak.
Instead, complete the destroy flow before return error.

Also move mlx5_debug_cq_remove() to the beginning of mlx5_core_destroy_cq()
to be symmetrical with mlx5_core_create_cq().

kmemleak complains on:

unreferenced object 0xc000000038625100 (size 64):
comm "ethtool", pid 28301, jiffies 4298062946 (age 785.380s)
hex dump (first 32 bytes):
60 01 48 94 00 00 00 c0 b8 05 34 c3 00 00 00 c0 `.H.......4.....
02 00 00 00 00 00 00 00 00 db 7d c1 00 00 00 c0 ..........}.....
backtrace:
[<000000009e8643cb&gt;] add_res_tree+0xd0/0x270 [mlx5_core]
[<00000000e7cb8e6c&gt;] mlx5_debug_cq_add+0x5c/0xc0 [mlx5_core]
[<000000002a12918f&gt;] mlx5_core_create_cq+0x1d0/0x2d0 [mlx5_core]
[<00000000cef0a696&gt;] mlx5e_create_cq+0x210/0x3f0 [mlx5_core]
[<000000009c642c26&gt;] mlx5e_open_cq+0xb4/0x130 [mlx5_core]
[<0000000058dfa578&gt;] mlx5e_ptp_open+0x7f4/0xe10 [mlx5_core]
[<0000000081839561&gt;] mlx5e_open_channels+0x9cc/0x13e0 [mlx5_core]
[<0000000009cf05d4&gt;] mlx5e_switch_priv_channels+0xa4/0x230
[mlx5_core]
[<0000000042bbedd8&gt;] mlx5e_safe_switch_params+0x14c/0x300
[mlx5_core]
[<0000000004bc9db8&gt;] set_pflag_tx_port_ts+0x9c/0x160 [mlx5_core]
[<00000000a0553443&gt;] mlx5e_set_priv_flags+0xd0/0x1b0 [mlx5_core]
[<00000000a8f3d84b&gt;] ethnl_set_privflags+0x234/0x2d0
[<00000000fd27f27c&gt;] genl_family_rcv_msg_doit+0x108/0x1d0
[<00000000f495e2bb&gt;] genl_family_rcv_msg+0xe4/0x1f0
[<00000000646c5c2c&gt;] genl_rcv_msg+0x78/0x120
[<00000000d53e384e&gt;] netlink_rcv_skb+0x74/0x1a0

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2021-47438 KY3.5.2 kernel Unaffected
CVE-2021-47438 V6 kernel Unaffected

3. 影响组件

    无

4. 修复版本

    无

5. 修复方法

   无

6. 下载链接

    无
上一篇:KylinSec-SA-2024-4692 下一篇:KylinSec-SA-2024-2643