В ядре Linux устранена следующая уязвимость:
сторожевой таймер: отменить регистрацию Уведомление в личку об отмене регистрации сторожевого таймера
watchdog_register_device() регистрирует wdd->pm_nb, когда
WDOG_NO_PING_ON_SUSPEND установлен, а watchdog_unregister_device() — нет.
удалите его. В результате в цепочке уведомлений PM остается встроенный блок уведомлений.
после отмены регистрации сторожевого устройства. Позднее уведомление о приостановке/возобновлении может затем вызвать watchdog_pm_notifier().
с устаревшим указателем watchdog_device или как минимум после того, как wdd->wd_data
было очищено функцией watchdog_dev_unregister().
Отмените регистрацию уведомителя PM, прежде чем отключать сторожевое устройство.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: watchdog: unregister PM notifier on watchdog unregister watchdog_register_device() registers wdd->pm_nb when WDOG_NO_PING_ON_SUSPEND is set, but watchdog_unregister_device() does not remove it. This leaves an embedded notifier block on the PM notifier chain after the watchdog device has been unregistered. A later suspend/resume notification can then call watchdog_pm_notifier() with a stale watchdog_device pointer, or at minimum after wdd->wd_data has been cleared by watchdog_dev_unregister(). Unregister the PM notifier before tearing down the watchdog device.