Само цитируемое сообщение не является причиной сбоя.«Изъятие ядра» - это уведомление для разработчиков ядра о том, что пользователь загрузил модуль, который не происходит из среды, дружественной для разработчиков ядра.Некоторые люди считают это веской причиной не поддерживать таких пользователей и / или настройки.
Причина сбоя заключается в том, что внутреннее ядро ABI (двоичные интерфейсы) не стабильно, оно меняется между версиями (и даже междуразные конфигурации одной и той же версии).Ядро имеет некоторую защиту от загрузки несовместимых с двоичным кодом модулей, но это часто отключается и / или может быть обойдено.И как только двоичный несовместимый модуль попадает внутрь ядра, попытка его выполнения часто приводит к сбоям и другому неправильному поведению: модуль был скомпилирован для другого ABI и, таким образом, код внутри модуля пытается получить доступ к полям структуры с неправильными смещениями, вызвать функции с параметрами в неправильных регистрах ии т. д.
Чтобы избежать сбоя, модуль должен быть хотя бы перекомпилирован с ядром, на котором вы работаете.Хотя это может не сработать в случае изменения не только в ABI, но и в API.В последнем случае требуется перенос источника модуля на обновленный API.