I build a kernel module under linux kernel 3.4.0, and install it to the device with linux kernel 3.1.10.
I have avoided the version magic checking by modifying the include/linux/vermagic.h, but the module still can not be installed successfully.
Following is my flow,
adb operation:
# adb push ug.ko /system/lib/modules
# adb shell
root@android:/ # cd /system/lib/modules
root@android:/ # ls ug.ko
ls
ug.ko
root@android:/ # insmod ug.ko
insmod ug.ko
insmod: init_module 'ug.ko' failed (No such file or directory)
kmsg log:
ug: Unknown symbol __stack_chk_guard (err 0)
ug: Unknown symbol __stack_chk_fail (err 0)
ug: Unknown symbol kmalloc_caches (err 0)
I think init_module failed is caused by these three un-known symbols, __stack_chk_guard, __stack_chk_fail, kmalloc_caches.
What should I do to fix it? Any advice is greatly appreciated.
Allen