В ядре Linux устранена следующая уязвимость: devlink: ставка: Расформировать родительский указатель в devl_rate_nodes_detroy Функция devl_r…
В ядре Linux устранена следующая уязвимость: devlink: ставка: Расформировать родительский указатель в devl_rate_nodes_detroy Функция devl_rate_nodes_des_destroy задокументирована в "Unset parent for Все тарифные объекты». Тем не менее, он называл только конкретного водителя. `rate_leaf_parent_set` или `rate_node_parent_set` ops и decrementing пересчет родителей, без фактического установления `devlink_rate->parent` pointer на NULL. Это оставляет болтающееся указатель в `devlink_rate` структуре, которые вызывают Ошибка пересчета в netdevsim[1] и mlx5[2]. Кроме того, это несовместимое с поведением `devlink_nl_rate_parent_node_set`, где родительский указатель правильно очищен. Этот патч исправляет проблему, явно установив `devlink_rate->parent` к NULL после уведомления водителя, таким образом выполняя функцию Документированное поведение для всех объектов скорости. [1] шаги repro: эхо 1 > /sys/bus/netdevsim/new_device devlink dev eswitch набор netdevsim/netdevsim1 режим переключатель эхо 1 > /sys/bus/netdevsim/устройства/netdevsim1/sriov_numvfs коэффициент работы порта devlink добавить netdevsim/netdevsim1/test_node devlink скорость работы порта установить netdevsim/netdevsim1/128 родительский test_node эхо 1 > /sys/bus/netdevsim/del_device dmesg: refcount_t: decrement hit 0; утечка памяти. ВНИМАНИЕ: CPU: 8 PID: 1530 на lib/refcount.c:31 refcount_warn_saturate+0x42/0xe0 CPU: 8 UID: 0 PID: 1530 Комплект: bash Не испорчен 6.18.0-rc4+ #1 НОД Аппаратное название: QEMU Стандартный ПК (Q35 + ICH9, 2009), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:refcount_warn_saturate+0x42/0xe0 Трейс по вызову: <TASK> devl_rate_leaf_destroy+0x8d/0x90 __nsim_dev_port_del+0x6c/0x70 [netdevsim] nsim_dev_reload_detroy+0x11c/0x140 [netdevsim] nsim_drv_remove+0x2b/0xb0 [netdevsim] устройство_release_driver_internal+0x194/0x1f0 автобус_remove_device+0xc6/0x130 устройство_del+0x159/0x3c0 устройство_unregister+0x1a/0x60 del_device_store+0x111/0x170 [netdevsim] kernfs_fop_write_iter+0x12e/0x1e0 vfs_write+0x215/0x3d0 ksys_write+0x5f/0xd0 do_syscall_64+0x55/0x10f0 вход_SYSCALL_64_after_hwframe+0x4b/0x53 [2] devlink dev eswitch набор pci/0000:08:00.0 режим переключение порт devlink добавить pci/0000:08:00.0 вкусный pcisf pfnum 0 sfnum 1000 devlink скорость функции порта добавить pci/0000:08:00.0/group1 набор скорости работы порта devlink pci/0000:08:00.0/32768 родительская группа1 моддродоб -r mlx5_ib mlx5_fwctl mlx5_core dmesg: refcount_t: decrement hit 0; утечка памяти. ВНИМАНИЕ: CPU: 7 PID: 16151 на lib/reffcount.c:31 refcount_warn_saturate+0x42/0xe0 CPU: 7 UID: 0 PID: 16151 Компайл: bash Не испорчен 6.17.0-rc7_for_upstream_min_debug_2025_10_02_12_44 #1 Аппаратное название: QEMU Стандартный ПК (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 RIP: 0010:refcount_warn_saturate+0x42/0xe0 Трейс по вызову: <TASK> devl_rate_leaf_destroy+0x8d/0x90 mlx5_esw_offloads_devlink_port_port_unregister+0x33/0x60 [mlx5_core] mlx5_esw_offloads_unload_rep+0x3f/0x50 [mlx5_core] mlx5_eswitch_unload_sf_vport+0x40/0x90 [mlx5_core] mlx5_sf_esw_event+0xc4/0x120 [mlx5_core] notifier_call_chain+0x33/0xa0 блокирование_ноттеритье_call_chain+0x3b/0x50 mlx5_eswitch_disable_locked+0x50/0x110 [mlx5_core] mlx5_eswitch_отключить+0x63/0x90 [mlx5_core] mlx5_unload+0x1d/0x170 [mlx5_core] mlx5_uninit_one+0xa2/0x130 [mlx5_core] удалить_one+0x78/0xd0 [mlx5_core] pci_device_remove+0x39/0xa0 устройство_release_driver_internal+0x194/0x1f0 unbind_store+0x99/0xa0 kernfs_fop_write_iter+0x12e/0x1e0 vfs_write+0x215/0x3d0 ksys_write+0x5f/0xd0 do_syscall_64+0x53/0x1f0 вход_SYSCALL_64_after_hwframe+0x4b/0x53
Продукт разыменовывает указатель, который предполагается допустимым, однако оказывается равным NULL.
https://cwe.mitre.org/data/definitions/476.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |