Ядро Linux готовится к выпуску версии 7.4, в которую будет включен новый флаг «загрязнения» (taint) — TAINT_FORCED_BIND. Инициатива принадлежит Грегу Кроа-Хартману (Greg Kroah-Hartman) и направлена на борьбу с ложными срабатываниями от инструментов фаззинга, таких как Syzbot. Эти боты активно эксплуатируют атрибуты sysfs bind и unbind, принудительно привязывая устройства к драйверам, для которых они изначально не предназначены.
Суть проблемы: злоупотребление API отладки
Интерфейсы bind и unbind в sysfs исторически создавались для разработчиков ядра, чтобы ускорить итерации и протестировать поддержку новых устройств без пересборки ядра. Однако современные инструменты автоматического тестирования интерпретировали эту возможность как вектор для фаззинга, пытаясь связать любое устройство с любым драйвером. Это генерирует массивы непрактичных отчетов об ошибках, которые не отражают реальные сценарии использования, но заставляют новых разработчиков тратить время на анализ бессмысленных патчей.
Техническая реализация
Новый флаг TAINT_FORCED_BIND будет автоматически устанавливаться ядром при любой записи в файлы sysfs bind или unbind. Это служит четким индикатором для мейнтейнеров: если баг-репорт помечен этим флагом, проблема возникла из-за искусственной манипуляции с драйверами, а не из-за бага в нормальном рабочем процессе. Кроме того, инструменты могут использовать параметр panic_on_taint для немедленного падения ядра при обнаружении такого действия, предотвращая дальнейшее выполнение бесполезных тестовых комбинаций.
| Параметр | Значение / Описание |
|---|---|
| Новый флаг | TAINT_FORCED_BIND |
| Версия ядра | Linux 7.4 (очередь driver-core-next) |
| Инициатор | Greg Kroah-Hartman |
| Основная причина | Фаззинг через Syzbot и аналогичные боты |
| Механизм воздействия | Принудительная привязка произвольных устройств к драйверам |
| Цель внедрения | Фильтрация нерелевантных баг-репортов |
Почему это важно
Внедрение TAINT_FORCED_BIND — это шаг к очистке трекеров ошибок Linux от «инженерного шума». Разработчики ядра и дистрибутивов смогут быстрее идентифицировать реальные проблемы, игнорируя отчеты, сгенерированные в результате заведомо некорректных конфигураций, созданных фаззерами. Патч уже находится в ветке driver-core-next и ожидается в основном цикле релиза 7.4.
Источник: Phoronix ↗
