Linux 内核模块与使用新补丁重新编译的内核的兼容性

Linux 内核模块与使用新补丁重新编译的内核的兼容性,linux,linux-kernel,linux-device-driver,embedded-linux,kernel-module,Linux,Linux Kernel,Linux Device Driver,Embedded Linux,Kernel Module,我想知道Linux内核模块是否可以与补丁号(版本中的最后一个数字)高于编译内核所用补丁号的Linux内核版本一起使用 以以下为例: 您当前正在使用Linux 4.14.75作为ARM目标 我给您一个RPM,其中包含一个应用程序和内核模块,它们可以一起工作。该模块是根据4.14.75内核编译的。该模块由应用程序加载insmod 出现了一个安全问题,您将目标的内核更新为4.14.100 在这种情况下,我给你的RPM中的内核模块会使用新内核吗?是否可以编译一次内核并使其与所有4.14内核兼容 我不

我想知道Linux内核模块是否可以与补丁号(版本中的最后一个数字)高于编译内核所用补丁号的Linux内核版本一起使用

以以下为例:

  • 您当前正在使用Linux 4.14.75作为ARM目标
  • 我给您一个RPM,其中包含一个应用程序和内核模块,它们可以一起工作。该模块是根据4.14.75内核编译的。该模块由应用程序加载insmod
  • 出现了一个安全问题,您将目标的内核更新为4.14.100
在这种情况下,我给你的RPM中的内核模块会使用新内核吗?是否可以编译一次内核并使其与所有4.14内核兼容

我不是在问depmod/modprobe是否可以工作,或者它是否是一种良好的做法。

“是否可以编译一次内核并使其与所有4.14内核兼容?” 如果安全更新和后端口没有破坏任何东西,也许。 但是,内核中没有稳定的内核API/ABI。 只有userlandapi/ABIs是稳定的。

这里是一篇自动检查的帖子,如果userland的任何API/ABI将中断:

对于内核ABI,我找到了一个工具(以及您的用例):

您应该阅读有关vermagic和Modmagic版本的信息