cormander / tpe-lkm

Trusted Path Execution (TPE) Linux Kernel Module
Other
157 stars 55 forks source link

Fails to build from source on kernel 3.5.0-17 #4

Closed taaroa closed 10 years ago

taaroa commented 12 years ago

$ lsb_release -rd Description: Ubuntu 12.10 Release: 12.10

/usr/src/tpe-lkm# make make -C /usr/src/linux-headers-3.5.0-17-generic M=/usr/src/tpe-lkm modules make[1]: Entering directory /usr/src/linux-headers-3.5.0-17-generic' CC [M] /usr/src/tpe-lkm/core.o /usr/src/tpe-lkm/core.c: In function ‘tpe_allow_file’: /usr/src/tpe-lkm/core.c:208:1: warning: the frame size of 1328 bytes is larger than 1024 bytes [-Wframe-larger-than=] CC [M] /usr/src/tpe-lkm/module.o CC [M] /usr/src/tpe-lkm/security.o CC [M] /usr/src/tpe-lkm/symbols.o CC [M] /usr/src/tpe-lkm/malloc.o CC [M] /usr/src/tpe-lkm/sysctl.o CC [M] /usr/src/tpe-lkm/hijacks.o CC [M] /usr/src/tpe-lkm/arch/x86/lib/inat.o /usr/src/tpe-lkm/arch/x86/lib/inat.c:32:13: error: conflicting types for ‘inat_get_escape_attribute’ In file included from /usr/src/linux-headers-3.5.0-17-generic/arch/x86/include/asm/insn.h:24:0, from /usr/src/tpe-lkm/arch/x86/lib/inat.c:21: /usr/src/linux-headers-3.5.0-17-generic/arch/x86/include/asm/inat.h:101:20: note: previous declaration of ‘inat_get_escape_attribute’ was here /usr/src/tpe-lkm/arch/x86/lib/inat.c:55:13: error: conflicting types for ‘inat_get_group_attribute’ In file included from /usr/src/linux-headers-3.5.0-17-generic/arch/x86/include/asm/insn.h:24:0, from /usr/src/tpe-lkm/arch/x86/lib/inat.c:21: /usr/src/linux-headers-3.5.0-17-generic/arch/x86/include/asm/inat.h:104:20: note: previous declaration of ‘inat_get_group_attribute’ was here make[2]: *** [/usr/src/tpe-lkm/arch/x86/lib/inat.o] Error 1 make[1]: *** [_module_/usr/src/tpe-lkm] Error 2 make[1]: Leaving directory/usr/src/linux-headers-3.5.0-17-generic' make: *\ [tpe.ko] Error 2

neoCrimeSecurity commented 11 years ago

I have the same issue with 3.6.11 vanilla.

tuantm8 commented 11 years ago

I have the same problem too (kernel 3.5.0.17). After reading make log, comparing the kernel source code & project source code, I see the differences:

The declarations of inat_get_escape_attribute and inat_get_group_attribute are incorrect with their prototypes in kernel source code (the 2nd parameter datatype) --> so look up our project source code and change inat.c source code with these two function header). In my case, change insn_byte_t --> int then it works :)

After that, rebuild project, you can get an error of insn_last_prefix function --> copy this inline function in insn.h to insn.c. The project is built successfully :)!

Some last words, I think the make include the headers in the kernel source code not the headers in arch/include/x86.

Hope this helps!

cormander commented 10 years ago

Working on this now, will have a new build cut soon. Look in the coming weeks for a new release.