Сборка модуля ядра (WARNING: "" [] undefined!)

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
pulo
Сообщения: 6
ОС: kubuntu 10.04

Сборка модуля ядра

Сообщение pulo »

Здравствуйте.
Пытаюсь собрать tuxguardian-0.5 , система kubuntu 10.04 ядро 2.6.34.8 самосборное, с поддержкой LSM.
Программа полность компилируется, daemon и frontend запускаются, проблема с модулем tuxg
При сборке модуля:
Spoiler

make -C /lib/modules/2.6.34.8-custom/build/ SUBDIRS=/home/pulo/tuxguardian-0.5/module modules
make[1]: Вход в каталог `/usr/src/linux-2.6.34.8'
Building modules, stage 2.
MODPOST 1 modules
WARNING: "cap_bprm_set_creds" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_ptrace_access_check" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_capable" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_task_fix_setuid" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_bprm_secureexec" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_capset" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_capget" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "cap_ptrace_traceme" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
WARNING: "register_security" [/home/pulo/tuxguardian-0.5/module/tuxg.ko] undefined!
CC /home/pulo/tuxguardian-0.5/module/tuxg.mod.o
LD [M] /home/pulo/tuxguardian-0.5/module/tuxg.ko
make[1]: Выход из каталога `/usr/src/linux-2.6.34.8'


при загрузке модуля:
sudo modprobe tuxg
FATAL: Error inserting tuxg (/lib/modules/2.6.34.8-custom/tuxg.ko): Unknown symbol in module, or unknown parameter (see dmesg)

в dmesg:

Spoiler

[13714.547835] tuxg: Unknown symbol register_security
[13714.548063] tuxg: Unknown symbol cap_ptrace_traceme
[13714.548182] tuxg: Unknown symbol cap_capget
[13714.548297] tuxg: Unknown symbol cap_capset
[13714.548412] tuxg: Unknown symbol cap_bprm_secureexec
[13714.548527] tuxg: Unknown symbol cap_task_fix_setuid
[13714.548711] tuxg: Unknown symbol cap_capable
[13714.548827] tuxg: Unknown symbol cap_ptrace_access_check
[13714.549078] tuxg: Unknown symbol cap_bprm_set_creds


однако адреса есть в system.map
grep cap_ptrace_access_check /boot/System.map-`uname -r`

ffffffff813212d0 T cap_ptrace_access_check

в исходнике есть MODULE_LICENSE("GPL");
собственно кто нибудь сталкивался с такой проблемой?
в гугле решения не нашел, исходник прикрепил.
(upd убрал исходник тк нерабочий вариант)
Спасибо сказали:
Аватара пользователя
wanderer6
Сообщения: 100
ОС: Ubuntu Studio

Re: Сборка модуля ядра

Сообщение wanderer6 »

С такой проблемой не знаю. Но неужели нельзя найти что нибудь более свежее.

TuxGuardian 0.5 is the latest stable version. (Last update: april 8th 2006)
Разобрался сам, расскажи другому.
Спасибо сказали:
pulo
Сообщения: 6
ОС: kubuntu 10.04

Re: Сборка модуля ядра

Сообщение pulo »

Автор не поддерживает проект, этот поправил малость - компилируется, но с загрузкой модуля проблема осталась.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Сборка модуля ядра

Сообщение Stauffenberg »

pulo писал(а):
02.02.2011 11:37
этот поправил малость

Вы забыли экспортировать переменные, отсюда и undefined.
"EXPORT_SYMBOL" или "EXPORT_SYMBOL_GPL"

Повторите вторую главу Linux Device Drivers, ну и вообще тему ”The Kernel Symbol Table”.


p.s. Почему спрашиваете тут, на не на ru.kernelnewbies.org?
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
pulo
Сообщения: 6
ОС: kubuntu 10.04

Re: Сборка модуля ядра

Сообщение pulo »

Оказалось, что эти функции больше не экспортируются, поправил security.c и commoncap.c добавив экспорт EXPORT_SYMBOL_GPL(); для каждой функции, все норм собралось.
Про ru.kernelnewbies.org честно говоря не знал :-) спасибо за инфу.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Сборка модуля ядра

Сообщение Stauffenberg »

pulo писал(а):
02.02.2011 17:02
Про ru.kernelnewbies.org честно говоря не знал :-) спасибо за инфу.

Я этот проект еще слабо пропиарил :)

Russian Linux Kernel Community
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Ответить