Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201230223917.GA11479@pi3.com.pl>
Date: Wed, 30 Dec 2020 23:39:17 +0100
From: Adam Zabrocki <pi3@....com.pl>
To: lkrg-users@...ts.openwall.com
Subject: Re: LKRG build error on Linux-5.10.x

Hi,

It should be fixed with the latest commit.
Thanks for report!

- Adam

On Wed, Dec 30, 2020 at 05:23:28AM +0100, Jacek wrote:
> Hi
> 
> LKRG commit:
> 
> commit 58b9ec06e52ccf55132f72cab988d5ec043ef13c (HEAD -> main, origin/main,
> origin/HEAD)
> Author: Adam_pi3 <pi3@....com.pl>
> Date:   Tue Dec 29 18:21:39 2020 -0500
> 
>     Integrate LKRG with 'out-of-tree' framework
> 
>     Mikhail Klementev created an amazing framework which allows to
> automatically
>     verify LKRG under various kernel versions. Let's integrate LKRG's
> code-base
>     with it. We also have a simple configuration file to run it under
> simulated
>     Ubuntu 18.04 environment.
> ~
> 
> My OS:
> 
> cat /proc/version
> Linux version 5.10.3-g1 (root@...ek) (gcc (Gentoo Hardened 9.3.0-r2 p4)
> 9.3.0, GNU ld (Gentoo 2.34 p6) 2.34.0) #1 SMP PREEMPT Mon Dec 28 01:07:43
> CET 2020
> 
> LKRG build log:
> 
> # root ~> make
> make -C /lib/modules/5.10.3-g1/build M=/ssdtmp/lkrg modules
> make[1]: Wejście do katalogu
> '/ssdtmp/fabryka/kernel/src64/linux-5.10.3-gentoo'
>   CC [M]  /ssdtmp/lkrg/src/modules/ksyms/p_resolve_ksym.o
> /ssdtmp/lkrg/src/modules/ksyms/p_resolve_ksym.c: In function
> ‘p_find_isra_name’:
> /ssdtmp/lkrg/src/modules/ksyms/p_resolve_ksym.c:29:9: note: byref variable
> will be forcibly initialized
>    29 |    char p_buf2[0x100];
>       |         ^~~~~~
> /ssdtmp/lkrg/src/modules/ksyms/p_resolve_ksym.c:28:9: note: byref variable
> will be forcibly initialized
>    28 |    char p_buf[0x100];
>       |         ^~~~~
> /ssdtmp/lkrg/src/modules/ksyms/p_resolve_ksym.c: In function
> ‘get_kallsyms_address’:
> /ssdtmp/lkrg/src/modules/ksyms/p_resolve_ksym.c:83:18: note: byref variable
> will be forcibly initialized
>    83 |    struct kprobe p_kprobe;
>       |                  ^~~~~~~~
>   CC [M]  /ssdtmp/lkrg/src/modules/hashing/p_lkrg_fast_hash.o
> /ssdtmp/lkrg/src/modules/hashing/p_lkrg_fast_hash.c: In function
> ‘p_lkrg_fast_hash’:
> /ssdtmp/lkrg/src/modules/hashing/p_lkrg_fast_hash.c:31:13: note: byref
> variable will be forcibly initialized
>    31 |    uint64_t p_tmp = 0;
>       |             ^~~~~
>   CC [M]  /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.o
> In file included from
> /ssdtmp/lkrg/src/modules/comm_channel/../../p_lkrg_main.h:323,
>                  from
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:18:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_lkrg_close_rw’:
> /ssdtmp/lkrg/src/modules/comm_channel/../../modules/wrap/p_struct_wrap.h:353:20:
> note: byref variable will be forcibly initialized
>   353 | static inline void p_lkrg_close_rw(void) {
>       |                    ^~~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_lkrg_open_rw’:
> /ssdtmp/lkrg/src/modules/comm_channel/../../modules/wrap/p_struct_wrap.h:338:20:
> note: byref variable will be forcibly initialized
>   338 | static inline void p_lkrg_open_rw(void) {
>       |                    ^~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_sysctl_pcfi_enforce’:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:888:10: note: byref
> variable will be forcibly initialized
>   888 |    char *p_str[] = {
>       |          ^~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_sysctl_umh_enforce’:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:791:10: note: byref
> variable will be forcibly initialized
>   791 |    char *p_str[] = {
>       |          ^~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_sysctl_pint_enforce’:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:459:10: note: byref
> variable will be forcibly initialized
>   459 |    char *p_str[] = {
>       |          ^~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_sysctl_pint_validate’:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:428:10: note: byref
> variable will be forcibly initialized
>   428 |    char *p_str[] = {
>       |          ^~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_sysctl_kint_enforce’:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:389:10: note: byref
> variable will be forcibly initialized
>   389 |    char *p_str[] = {
>       |          ^~~~~
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c: In function
> ‘p_sysctl_kint_validate’:
> /ssdtmp/lkrg/src/modules/comm_channel/p_comm_channel.c:352:10: note: byref
> variable will be forcibly initialized
>   352 |    char *p_str[] = {
>       |          ^~~~~
>   CC [M] /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.o
> /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.c: In function
> ‘p_check_integrity’:
> /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.c:112:23: note:
> byref variable will be forcibly initialized
>   112 |    p_module_kobj_mem *p_module_kobj_tmp = NULL;
>       |                       ^~~~~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.c:111:23: note:
> byref variable will be forcibly initialized
>   111 |    p_module_list_mem *p_module_list_tmp = NULL;
>       |                       ^~~~~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.c:110:17: note:
> byref variable will be forcibly initialized
>   110 |    unsigned int p_module_kobj_nr_tmp; // Count by walk through the
> list first
>       |                 ^~~~~~~~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.c:109:17: note:
> byref variable will be forcibly initialized
>   109 |    unsigned int p_module_list_nr_tmp; // Count by walk through the
> list first
>       |                 ^~~~~~~~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/integrity_timer/p_integrity_timer.c:107:15: note:
> byref variable will be forcibly initialized
>   107 |    p_cpu_info p_tmp_cpu_info;
>       |               ^~~~~~~~~~~~~~
>   CC [M]  /ssdtmp/lkrg/src/modules/kmod/p_kmod.o
> In file included from /ssdtmp/lkrg/src/modules/kmod/../../p_lkrg_main.h:323,
>                  from /ssdtmp/lkrg/src/modules/kmod/p_kmod.c:22:
> /ssdtmp/lkrg/src/modules/kmod/p_kmod.c: In function ‘p_lkrg_close_rw’:
> /ssdtmp/lkrg/src/modules/kmod/../../modules/wrap/p_struct_wrap.h:353:20:
> note: byref variable will be forcibly initialized
>   353 | static inline void p_lkrg_close_rw(void) {
>       |                    ^~~~~~~~~~~~~~~
> /ssdtmp/lkrg/src/modules/kmod/p_kmod.c: In function ‘p_lkrg_open_rw’:
> /ssdtmp/lkrg/src/modules/kmod/../../modules/wrap/p_struct_wrap.h:338:20:
> note: byref variable will be forcibly initialized
>   338 | static inline void p_lkrg_open_rw(void) {
>       |                    ^~~~~~~~~~~~~~
>   CC [M]  /ssdtmp/lkrg/src/modules/database/CPU.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/arch/x86/p_x86_metadata.o
> /ssdtmp/lkrg/src/modules/database/arch/x86/p_x86_metadata.c: In function
> ‘p_dump_x86_metadata’:
> /ssdtmp/lkrg/src/modules/database/arch/x86/p_x86_metadata.c:76:18: note:
> byref variable will be forcibly initialized
>    76 |    unsigned char p_idtr[0xA];
>       |                  ^~~~~~
>   CC [M]
> /ssdtmp/lkrg/src/modules/database/arch/x86/p_switch_idt/p_switch_idt.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/arch/arm64/p_arm64_metadata.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/arch/arm/p_arm_metadata.o
>   CC [M]  /ssdtmp/lkrg/src/modules/database/arch/p_arch_metadata.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/JUMP_LABEL/p_arch_jump_label_transform/p_arch_jump_label_transform.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/JUMP_LABEL/p_arch_jump_label_transform_apply/p_arch_jump_label_transform_apply.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/FTRACE/p_ftrace_modify_all_code/p_ftrace_modify_all_code.o
>   CC [M] /ssdtmp/lkrg/src/modules/database/FTRACE/p_ftrace_enable_sysctl/p_ftrace_enable_sysctl.o
>   CC [M]  /ssdtmp/lkrg/src/modules/database/p_database.o
>   CC [M]  /ssdtmp/lkrg/src/modules/notifiers/p_notifiers.o
>   CC [M]  /ssdtmp/lkrg/src/modules/self-defense/hiding/p_hiding.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/p_rb_ed_trees/p_rb_ed_pids/p_rb_ed_pids_tree.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_install.o
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_install.c: In function
> ‘p_install_hook’:
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_install.c:27:27: note:
> byref variable will be forcibly initialized
>    27 |    struct p_isra_argument p_isra_arg;
>       |                           ^~~~~~~~~~
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_execve/p_sys_execve.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_execveat/p_sys_execveat.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_call_usermodehelper/p_call_usermodehelper.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_call_usermodehelper_exec/p_call_usermodehelper_exec.o
>   CC [M]
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_do_exit/p_do_exit.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_wake_up_new_task/p_wake_up_new_task.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setuid/p_sys_setuid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setreuid/p_sys_setreuid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setresuid/p_sys_setresuid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setfsuid/p_sys_setfsuid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setgid/p_sys_setgid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setregid/p_sys_setregid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setresgid/p_sys_setresgid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setfsgid/p_sys_setfsgid.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_set_current_groups/p_set_current_groups.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_generic_permission/p_generic_permission.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sel_write_enforce/p_sel_write_enforce.o
>   CC [M]
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_seccomp/p_seccomp.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_unshare/p_sys_unshare.o
>   CC [M]
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_sys_setns/p_sys_setns.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/caps/p_sys_capset/p_sys_capset.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/caps/p_cap_task_prctl/p_cap_task_prctl.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/keyring/p_key_change_session_keyring/p_key_change_session_keyring.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/keyring/p_sys_add_key/p_sys_add_key.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/keyring/p_sys_request_key/p_sys_request_key.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/keyring/p_sys_keyctl/p_sys_keyctl.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_security_ptrace_access/p_security_ptrace_access.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/compat/p_compat_sys_execve/p_compat_sys_execve.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/compat/p_compat_sys_execveat/p_compat_sys_execveat.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/compat/p_compat_sys_keyctl/p_compat_sys_keyctl.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/compat/p_compat_sys_capset/p_compat_sys_capset.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/compat/p_compat_sys_add_key/p_compat_sys_add_key.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/compat/p_compat_sys_request_key/p_compat_sys_request_key.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/__x32/p_x32_sys_execve/p_x32_sys_execve.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/__x32/p_x32_sys_execveat/p_x32_sys_execveat.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/__x32/p_x32_sys_keyctl/p_x32_sys_keyctl.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/override/p_override_creds/p_override_creds.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/override/p_revert_creds/p_revert_creds.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/override/overlayfs/p_ovl_create_or_link/p_ovl_create_or_link.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/pCFI/p_mark_inode_dirty/p_mark_inode_dirty.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/pCFI/p_schedule/p_schedule.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/pCFI/p___queue_work/p___queue_work.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/pCFI/p_lookup_fast/p_lookup_fast.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_ttwu_do_wakeup/p_ttwu_do_wakeup.o
>   CC [M]
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_capable/p_capable.o
>   CC [M]
> /ssdtmp/lkrg/src/modules/exploit_detection/syscalls/p_scm_send/p_scm_send.o
>   CC [M] /ssdtmp/lkrg/src/modules/exploit_detection/p_exploit_detection.o
> /ssdtmp/lkrg/src/modules/exploit_detection/p_exploit_detection.c: In
> function ‘p_verify_addr_limit’:
> /ssdtmp/lkrg/src/modules/exploit_detection/p_exploit_detection.c:512:64:
> error: ‘mm_segment_t’ {aka ‘struct <anonymous>’} has no member named ‘seg’
>   512 | p_orig->p_ed_task.p_addr_limit.seg;
> |                                                                ^
> /ssdtmp/lkrg/src/modules/exploit_detection/p_exploit_detection.c: In
> function ‘p_dump_addr_limit’:
> /ssdtmp/lkrg/src/modules/exploit_detection/p_exploit_detection.c:534:16:
> error: ‘mm_segment_t’ {aka ‘struct <anonymous>’} has no member named ‘seg’
>   534 |    p_addr_limit->seg =
>       |                ^~
> make[2]: *** [scripts/Makefile.build:279:
> /ssdtmp/lkrg/src/modules/exploit_detection/p_exploit_detection.o] Błąd 1
> make[1]: *** [Makefile:1805: /ssdtmp/lkrg] Błąd 2
> make[1]: Opuszczenie katalogu
> '/ssdtmp/fabryka/kernel/src64/linux-5.10.3-gentoo'
> make: *** [Makefile:100: all] Błąd 2
> 
> Cheers
> 

-- 
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.