Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 12 Dec 2018 00:05:36 +0100
From: Adam Zabrocki <pi3@....com.pl>
To: lkrg-users@...ts.openwall.com
Subject: Re: modules/self-defense/hiding/p_hiding.h:103:37: error: ‘struct module’ has no member named ‘target_list’

Just to be on the same page, please verify if you have following line in your 
kernel config:

   root@...-ubuntu:~# cat /boot/config-`uname -r`|grep CONFIG_MODULE_UNLOAD
   CONFIG_MODULE_UNLOAD=y
   root@...-ubuntu:~#

Thanks,
Adam

On Tue, Dec 11, 2018 at 10:37:31PM +0100, bryn1u85 wrote:
> Sure. Im compilling kernel now. When finish i will let u know.
> 
> wt., 11 gru 2018 o 22:11 Adam Zabrocki <pi3@....com.pl> napisał(a):
> 
> > Hi,
> >
> > From the error which you've pasted:
> >
> > > > error: ‘struct module’ has no member named ‘target_list’
> >
> > it looks like 'target_list' is not visible in 'struct module' in your
> > kernel
> > definition. I've checked 4.19.8 kernel source and it looks like, this
> > situation
> > is only possible if you compile kernel without CONFIG_MODULE_UNLOAD:
> >
> > https://elixir.bootlin.com/linux/v4.19.8/source/include/linux/module.h#L463
> >
> > Can you confirm this is the case for your kernel config?
> >
> > Thanks,
> > Adam
> >
> > On Tue, Dec 11, 2018 at 09:36:04PM +0100, bryn1u85 wrote:
> > > Hey guys,
> > >
> > > I have a weird problem during on compilation on Centos 7. Someone can
> > help
> > > me ?
> > >
> > > [root@...ton lkrg-0.5]# uname -a
> > > > Linux proton.edu.pl 4.19.8 #1 SMP Tue Dec 11 14:03:18 EST 2018 x86_64
> > > > x86_64 x86_64 GNU/Linux
> > > > [root@...ton lkrg-0.5]#
> > >
> > >
> > > [root@...ton lkrg-0.5]# make -j8
> > > > make -C /lib/modules/4.19.8/build M=/root/lkrg-0.5 modules
> > > > make[1]: Wejście do katalogu `/usr/src/kernels/4.19.8'
> > > >   CC [M]  /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/p_rb_ed_trees/p_rb_ed_pids/p_rb_ed_pids_tree.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/syscalls/p_sys_execve/p_sys_execve.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/syscalls/p_sys_execveat/p_sys_execveat.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/syscalls/p_do_exit/p_do_exit.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/syscalls/p_call_usermodehelper/p_call_usermodehelper.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/syscalls/p_do_fork/p_do_fork.o
> > > >   CC [M]
> > > >
> > /root/lkrg-0.5/src/modules/exploit_detection/syscalls/p_sys_setuid/p_sys_setuid.o
> > > > In file included from
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../p_lkrg_main.h:23:0,
> > > >                  from
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:18:
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c: In function
> > > > ‘p_unhide_itself’:
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:37:
> > > > error: ‘struct module’ has no member named ‘target_list’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >                                      ^
> > > > ./include/linux/kernel.h:996:26: note: in definition of macro
> > > > ‘container_of’
> > > >   void *__mptr = (void *)(ptr);     \
> > > >                           ^
> > > > ./include/linux/list.h:407:2: note: in expansion of macro ‘list_entry’
> > > >   list_entry((ptr)->next, type, member)
> > > >   ^
> > > > ./include/linux/list.h:494:13: note: in expansion of macro
> > > > ‘list_first_entry’
> > > >   for (pos = list_first_entry(head, typeof(*pos), member); \
> > > >              ^
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:4:
> > > > note: in expansion of macro ‘list_for_each_entry’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >     ^
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:80:4: note:
> > in
> > > > expansion of macro ‘P_UNHIDE_FROM_KOBJ’
> > > >     P_UNHIDE_FROM_KOBJ(p_find_me,p_tmp_kset,p_tmp_ktype);
> > > >     ^
> > > > In file included from ./include/linux/export.h:45:0,
> > > >                  from ./include/linux/linkage.h:7,
> > > >                  from ./include/linux/kernel.h:7,
> > > >                  from
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../p_lkrg_main.h:23,
> > > >                  from
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:18:
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:37:
> > > > error: ‘struct module’ has no member named ‘target_list’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >                                      ^
> > > > ./include/linux/compiler.h:335:18: note: in definition of macro
> > > > ‘__compiletime_assert’
> > > >    int __cond = !(condition);    \
> > > >                   ^
> > > > ./include/linux/compiler.h:358:2: note: in expansion of macro
> > > > ‘_compiletime_assert’
> > > >   _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> > > >   ^
> > > > ./include/linux/build_bug.h:45:37: note: in expansion of macro
> > > > ‘compiletime_assert’
> > > >  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> > > >                                      ^
> > > > ./include/linux/kernel.h:997:2: note: in expansion of macro
> > > > ‘BUILD_BUG_ON_MSG’
> > > >   BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
> > > >   ^
> > > > ./include/linux/kernel.h:997:20: note: in expansion of macro
> > ‘__same_type’
> > > >   BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
> > > >                     ^
> > > > ./include/linux/list.h:396:2: note: in expansion of macro
> > ‘container_of’
> > > >   container_of(ptr, type, member)
> > > >   ^
> > > > ./include/linux/list.h:407:2: note: in expansion of macro ‘list_entry’
> > > >   list_entry((ptr)->next, type, member)
> > > >   ^
> > > > ./include/linux/list.h:494:13: note: in expansion of macro
> > > > ‘list_first_entry’
> > > >   for (pos = list_first_entry(head, typeof(*pos), member); \
> > > >              ^
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:4:
> > > > note: in expansion of macro ‘list_for_each_entry’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >     ^
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:80:4: note:
> > in
> > > > expansion of macro ‘P_UNHIDE_FROM_KOBJ’
> > > >     P_UNHIDE_FROM_KOBJ(p_find_me,p_tmp_kset,p_tmp_ktype);
> > > >     ^
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:37:
> > > > error: ‘struct module’ has no member named ‘target_list’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >                                      ^
> > > > ./include/linux/compiler.h:335:18: note: in definition of macro
> > > > ‘__compiletime_assert’
> > > >    int __cond = !(condition);    \
> > > >                   ^
> > > > ./include/linux/compiler.h:358:2: note: in expansion of macro
> > > > ‘_compiletime_assert’
> > > >   _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> > > >   ^
> > > > ./include/linux/build_bug.h:45:37: note: in expansion of macro
> > > > ‘compiletime_assert’
> > > >  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> > > >                                      ^
> > > > ./include/linux/kernel.h:997:2: note: in expansion of macro
> > > > ‘BUILD_BUG_ON_MSG’
> > > >   BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
> > > >   ^
> > > > ./include/linux/kernel.h:998:6: note: in expansion of macro
> > ‘__same_type’
> > > >      !__same_type(*(ptr), void),   \
> > > >       ^
> > > > ./include/linux/list.h:396:2: note: in expansion of macro
> > ‘container_of’
> > > >   container_of(ptr, type, member)
> > > >   ^
> > > > ./include/linux/list.h:407:2: note: in expansion of macro ‘list_entry’
> > > >   list_entry((ptr)->next, type, member)
> > > >   ^
> > > > ./include/linux/list.h:494:13: note: in expansion of macro
> > > > ‘list_first_entry’
> > > >   for (pos = list_first_entry(head, typeof(*pos), member); \
> > > >              ^
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:4:
> > > > note: in expansion of macro ‘list_for_each_entry’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >     ^
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:80:4: note:
> > in
> > > > expansion of macro ‘P_UNHIDE_FROM_KOBJ’
> > > >     P_UNHIDE_FROM_KOBJ(p_find_me,p_tmp_kset,p_tmp_ktype);
> > > >     ^
> > > > In file included from ./include/linux/module.h:9:0,
> > > >                  from
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../p_lkrg_main.h:25,
> > > >                  from
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:18:
> > > >
> > /root/lkrg-0.5/src/modules/self-defense/hiding/../../../modules/self-defense/hiding/p_hiding.h:103:37:
> > > > error: ‘struct module’ has no member named ‘target_list’
> > > >     list_for_each_entry(p_use, &p_mod->target_list, target_list) {
> > > >   \
> > > >                                      ^
> > > > ./include/linux/list.h:495:24: note: in definition of macro
> > > > ‘list_for_each_entry’
> > > >        &pos->member != (head);     \
> > > >                         ^
> > > > /root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.c:80:4: note:
> > in
> > > > expansion of macro ‘P_UNHIDE_FROM_KOBJ’
> > > >     P_UNHIDE_FROM_KOBJ(p_find_me,p_tmp_kset,p_tmp_ktype);
> > > >     ^
> > > > make[2]: ***
> > [/root/lkrg-0.5/src/modules/self-defense/hiding/p_hiding.o]
> > > > Błąd 1
> > > > make[2]: *** Oczekiwanie na niezakończone zadania....
> > > > make[1]: *** [_module_/root/lkrg-0.5] Błąd 2
> > > > make[1]: Opuszczenie katalogu `/usr/src/kernels/4.19.8'
> > > > make: *** [all] Błąd 2
> > > > [root@...ton lkrg-0.5]#
> > >
> > >
> > > Thanks !
> >
> > --
> > pi3 (pi3ki31ny) - pi3 (at) itsec pl
> > http://pi3.com.pl
> >

-- 
pi3 (pi3ki31ny) - pi3 (at) itsec pl
http://pi3.com.pl

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.