В своём модуле пробую подзгрузить другой модуль в ядре - zlib_deflate
Делаю следующую команду, request_module(«zlib_deflate»)
И при её выполнении в лог пишится подобное сообщение
Call Trace:
[<ffffffff80154351>] kobject_add+0x166/0x191
[<ffffffff80153892>] cmp_ex+0x0/0x10
[<ffffffff80154485>] kobject_register+0x20/0x39
[<ffffffff8004147b>] load_module+0x1692/0x19f0
[<ffffffff800b9609>] audit_syscall_entry+0x1a4/0x1cf
[<ffffffff800a8cdc>] sys_init_module+0x4d/0x1f2
[<ffffffff8005d28d>] tracesys+0xd5/0xe0 deflate: Unknown symbol zlib_deflateEnd
deflate: Unknown symbol zlib_deflate
deflate: Unknown symbol zlib_deflateReset
deflate: Unknown symbol zlib_deflate_workspacesize
deflate: Unknown symbol zlib_deflateInit2
kobject_add failed for zlib_deflate with -EEXIST, don't try to register things with the same name in the same directory.
В поисковике нашёл информацию, что с данной проблемой можно справиться при помощи добавления KBUILD_EXTRA_SYMBOLS в make файл. Но я не понимаю, что это за параметр и для чего он нужен,а также какое значение следует ему указать. Объясните пожалуйста. И если проблему с Unknown symbol можно решить иначе, то объясните как? спасибо!