Сбой пользовательского модуля insmod с сообщением: не согласен с версией символа

Я хочу сделать для себя модуль netfilter conntrack. Поэтому я копирую весь исходный код netfilter conntrack из исходного дерева ядра в свой внешний каталог. Это может быть insmod после компиляции. Затем я добавляю несколько элементов в структуру nf_conn, и она успешно компилируется. Однако это не может быть insmod. Система выдает мне сообщение "не согласен с версией символа...".

Может кто-нибудь помочь мне ?


person river    schedule 19.10.2017    source источник
comment
Я хочу иметь свои собственные модули conntrack, не влияющие на исходный процесс ядра. Оригинальный модуль conntrack сохраняется, как и прежде.   -  person river    schedule 19.10.2017
comment
Спасибо, у меня есть решение. Я ответил себе.   -  person river    schedule 20.10.2017


Ответы (1)


Просто скопируйте файл Module.symvers из каталога модифицированных модулей conntrack в текущий разрабатываемый модуль. Для тех же имен функций он будет использоваться вместо предоставленного деревом исходных текстов ядра.

Или измените Makefile: obj-y := new_conntrack/ caller/

Он будет использовать новое значение CRC из new_conntrack/. https://www.kernel.org/doc/Documentation/kbuild/modules.txt

person river    schedule 20.10.2017