Совместимость модуля ядра с ядром, перекомпилированным с новым патчем - PullRequest
1 голос
/ 06 марта 2019

Я хотел бы знать, можно ли использовать модуль ядра Linux с версией ядра Linux с более высоким номером патча (последним номером в версии), чем ядро, скомпилированное для.

Возьмите следующий пример:

  • В настоящее время вы используете Linux 4.14.75 для цели ARM
  • Я даю вам RPM, содержащий приложение и модуль ядра, которые работают вместе. Модуль был скомпилирован под ядро ​​4.14.75. Модуль загружается с помощью insmod приложением.
  • Возникает проблема безопасности, и вы обновляете ядро ​​вашей цели до 4.14.100.

Учитывая эту ситуацию, будет ли модуль ядра в RPM, который я дал вам, работать с новым ядром? Можно ли скомпилировать ядро ​​один раз и обеспечить его совместимость со всеми ядрами 4.14?

Я НЕ спрашиваю, будет ли работать depmod / modprobe или это хорошая практика.

1 Ответ

1 голос
/ 06 марта 2019

"Можно ли собрать ядро ​​один раз и сделать его совместимым со всеми ядрами 4.14?" Если обновления безопасности и бэкпорты ничего не нарушают, возможно. Однако в ядре нет стабильного API ядра / ABI. Просто API пользователя / ABI стабильны. https://www.phoronix.com/scan.php?page=news_item&px=Linux-Kernel-Stable-API-ABI https://github.com/torvalds/linux/blob/master/Documentation/process/stable-api-nonsense.rst

Здесь пост для автоматической проверки, будет ли ломаться или ломаться какой-либо API / ABI для пользовательского пространства: Изменения / дополнения API ядра Linux

Для Kernel ABI я нашел инструмент для этого (и ваш вариант использования): https://developers.redhat.com/blog/2018/03/28/analyzing-binary-interface-changes-linux-kernel/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...