Last active
August 14, 2021 19:04
-
-
Save haxpor/6e03eca7a6ebc2d7b1112744b3a81d60 to your computer and use it in GitHub Desktop.
strace for insmod, and rmmod of a simple kernel module. Executed with `sudo strace -v insmod <.ko-file>` and vice-versa.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## insmod | |
execve("/usr/sbin/insmod", ["insmod", "hello-1.ko"], ["COLORTERM=truecolor", "LC_ADDRESS=en_US.UTF-8", "LC_NAME=en_US.UTF-8", "LC_MONETARY=en_US.UTF-8", "XAUTHORITY=/run/user/1000/gdm/Xa"..., "LC_PAPER=en_US.UTF-8", "LANG=en_US.UTF-8", "LS_COLORS=rs=0:di=01;34:ln=01;36"..., "TERM=screen-256color", "LC_IDENTIFICATION=en_US.UTF-8", "DISPLAY=:0", "LC_TELEPHONE=en_US.UTF-8", "LC_MEASUREMENT=en_US.UTF-8", "LC_TIME=en_US.UTF-8", "PATH=/usr/local/sbin:/usr/local/"..., "LC_NUMERIC=en_US.UTF-8", "MAIL=/var/mail/root", "LOGNAME=root", "USER=root", "HOME=/root", "SHELL=/bin/bash", "SUDO_COMMAND=/usr/bin/strace -v "..., "SUDO_USER=haxpor", "SUDO_UID=1000", "SUDO_GID=1000"]) = 0 | |
brk(NULL) = 0x564213d1c000 | |
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffff1ceef80) = -1 EINVAL (Invalid argument) | |
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) | |
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=16966, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=248, st_size=126475, st_atime=1628916169 /* 2021-08-14T06:42:49.968131303+0200 */, st_atime_nsec=968131303, st_mtime=1628916169 /* 2021-08-14T06:42:49.952131208+0200 */, st_mtime_nsec=952131208, st_ctime=1628916169 /* 2021-08-14T06:42:49.956131231+0200 */, st_ctime_nsec=956131231}) = 0 | |
mmap(NULL, 126475, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f301f187000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3003\0\0\0\0\0\0"..., 832) = 832 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=132138, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=320, st_size=162264, st_atime=1628892887 /* 2021-08-14T00:14:47.942972288+0200 */, st_atime_nsec=942972288, st_mtime=1587419004 /* 2020-04-20T23:43:24+0200 */, st_mtime_nsec=0, st_ctime=1607155304 /* 2020-12-05T09:01:44.892522354+0100 */, st_ctime_nsec=892522354}) = 0 | |
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f301f185000 | |
mmap(NULL, 164104, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f301f15c000 | |
mprotect(0x7f301f15f000, 147456, PROT_NONE) = 0 | |
mmap(0x7f301f15f000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f301f15f000 | |
mmap(0x7f301f177000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7f301f177000 | |
mmap(0x7f301f183000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f301f183000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\220\7\0\0\0\0\0"..., 832) = 832 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=134097, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=5776, st_size=2954080, st_atime=1628905117 /* 2021-08-14T03:38:37.385017394+0200 */, st_atime_nsec=385017394, st_mtime=1619570248 /* 2021-04-28T02:37:28+0200 */, st_mtime_nsec=0, st_ctime=1622978026 /* 2021-06-06T13:13:46.016178365+0200 */, st_ctime_nsec=16178365}) = 0 | |
mmap(NULL, 2973600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f301ee86000 | |
mmap(0x7f301eefe000, 1683456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x78000) = 0x7f301eefe000 | |
mmap(0x7f301f099000, 593920, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x213000) = 0x7f301f099000 | |
mmap(0x7f301f12a000, 188416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2a3000) = 0x7f301f12a000 | |
mmap(0x7f301f158000, 16288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f301f158000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832 | |
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 | |
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=137831, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3968, st_size=2029224, st_atime=1628886301 /* 2021-08-13T22:25:01.161047242+0200 */, st_atime_nsec=161047242, st_mtime=1608116695 /* 2020-12-16T12:04:55+0100 */, st_mtime_nsec=0, st_ctime=1616864785 /* 2021-03-27T18:06:25.212105605+0100 */, st_ctime_nsec=212105605}) = 0 | |
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 | |
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68 | |
mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f301ec94000 | |
mprotect(0x7f301ecb9000, 1847296, PROT_NONE) = 0 | |
mmap(0x7f301ecb9000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f301ecb9000 | |
mmap(0x7f301ee31000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f301ee31000 | |
mmap(0x7f301ee7c000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f301ee7c000 | |
mmap(0x7f301ee82000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f301ee82000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\201\0\0\0\0\0\0"..., 832) = 832 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\345Ga\367\265T\320\374\301V)Yf]\223\337"..., 68, 824) = 68 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=137860, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=312, st_size=157224, st_atime=1628892280 /* 2021-08-14T00:04:40.911427568+0200 */, st_atime_nsec=911427568, st_mtime=1608116695 /* 2020-12-16T12:04:55+0100 */, st_mtime_nsec=0, st_ctime=1616864785 /* 2021-03-27T18:06:25.212105605+0100 */, st_ctime_nsec=212105605}) = 0 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\345Ga\367\265T\320\374\301V)Yf]\223\337"..., 68, 824) = 68 | |
mmap(NULL, 140408, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f301ec71000 | |
mmap(0x7f301ec78000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f301ec78000 | |
mmap(0x7f301ec89000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f301ec89000 | |
mmap(0x7f301ec8e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7f301ec8e000 | |
mmap(0x7f301ec90000, 13432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f301ec90000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \22\0\0\0\0\0\0"..., 832) = 832 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=137833, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=18816, st_atime=1628892280 /* 2021-08-14T00:04:40.911427568+0200 */, st_atime_nsec=911427568, st_mtime=1608116695 /* 2020-12-16T12:04:55+0100 */, st_mtime_nsec=0, st_ctime=1616864785 /* 2021-03-27T18:06:25.212105605+0100 */, st_ctime_nsec=212105605}) = 0 | |
mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f301ec6b000 | |
mmap(0x7f301ec6c000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f301ec6c000 | |
mmap(0x7f301ec6e000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f301ec6e000 | |
mmap(0x7f301ec6f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f301ec6f000 | |
close(3) = 0 | |
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f301ec69000 | |
arch_prctl(ARCH_SET_FS, 0x7f301ec6a540) = 0 | |
mprotect(0x7f301ee7c000, 12288, PROT_READ) = 0 | |
mprotect(0x7f301ec6f000, 4096, PROT_READ) = 0 | |
mprotect(0x7f301ec8e000, 4096, PROT_READ) = 0 | |
mprotect(0x7f301f12a000, 180224, PROT_READ) = 0 | |
mprotect(0x7f301f183000, 4096, PROT_READ) = 0 | |
mprotect(0x56421246e000, 8192, PROT_READ) = 0 | |
mprotect(0x7f301f1d3000, 4096, PROT_READ) = 0 | |
munmap(0x7f301f187000, 126475) = 0 | |
set_tid_address(0x7f301ec6a810) = 627236 | |
set_robust_list(0x7f301ec6a820, 24) = 0 | |
rt_sigaction(SIGRTMIN, {sa_handler=0x7f301ec78bf0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f301ec863c0}, NULL, 8) = 0 | |
rt_sigaction(SIGRT_1, {sa_handler=0x7f301ec78c90, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f301ec863c0}, NULL, 8) = 0 | |
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 | |
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 | |
brk(NULL) = 0x564213d1c000 | |
brk(0x564213d3d000) = 0x564213d3d000 | |
uname({sysname="Linux", nodename="haxpor-desktop", release="5.8.16-050816-generic", version="#202010170731 SMP Sat Oct 17 07:34:35 UTC 2020", machine="x86_64", domainname="(none)"}) = 0 | |
openat(AT_FDCWD, "/lib/modules/5.8.16-050816-generic/modules.softdep", O_RDONLY|O_CLOEXEC) = 3 | |
fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=393643, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=853, st_atime=1628960066 /* 2021-08-14T18:54:26.282952046+0200 */, st_atime_nsec=282952046, st_mtime=1627361328 /* 2021-07-27T06:48:48.628468169+0200 */, st_mtime_nsec=628468169, st_ctime=1627361328 /* 2021-07-27T06:48:48.628468169+0200 */, st_ctime_nsec=628468169}) = 0 | |
read(3, "# Soft dependencies extracted fr"..., 4096) = 853 | |
read(3, "", 4096) = 0 | |
close(3) = 0 | |
openat(AT_FDCWD, "/proc/cmdline", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "BOOT_IMAGE=/boot/vmlinuz-5.8.16-"..., 4095) = 123 | |
read(3, "", 3972) = 0 | |
close(3) = 0 | |
getcwd("/mnt/datadrive/_extended/home/haxpor/Data/Projects/kern_st/hello-1", 4096) = 67 | |
stat("/mnt/datadrive/_extended/home/haxpor/Data/Projects/kern_st/hello-1/hello-1.ko", {st_dev=makedev(0x8, 0x11), st_ino=14835550, st_mode=S_IFREG|0664, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=3904, st_atime=1628935055 /* 2021-08-14T11:57:35.375014596+0200 */, st_atime_nsec=375014596, st_mtime=1628811096 /* 2021-08-13T01:31:36.266127066+0200 */, st_mtime_nsec=266127066, st_ctime=1628811096 /* 2021-08-13T01:31:36.266127066+0200 */, st_ctime_nsec=266127066}) = 0 | |
openat(AT_FDCWD, "/mnt/datadrive/_extended/home/haxpor/Data/Projects/kern_st/hello-1/hello-1.ko", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1", 6) = 6 | |
lseek(3, 0, SEEK_SET) = 0 | |
fstat(3, {st_dev=makedev(0x8, 0x11), st_ino=14835550, st_mode=S_IFREG|0664, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=3904, st_atime=1628935055 /* 2021-08-14T11:57:35.375014596+0200 */, st_atime_nsec=375014596, st_mtime=1628811096 /* 2021-08-13T01:31:36.266127066+0200 */, st_mtime_nsec=266127066, st_ctime=1628811096 /* 2021-08-13T01:31:36.266127066+0200 */, st_ctime_nsec=266127066}) = 0 | |
mmap(NULL, 3904, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f301f1d2000 | |
finit_module(3, "", 0) = 0 | |
munmap(0x7f301f1d2000, 3904) = 0 | |
close(3) = 0 | |
exit_group(0) = ? | |
+++ exited with 0 +++ | |
## rmmod | |
execve("/usr/sbin/rmmod", ["rmmod", "hello_1"], ["COLORTERM=truecolor", "LC_ADDRESS=en_US.UTF-8", "LC_NAME=en_US.UTF-8", "LC_MONETARY=en_US.UTF-8", "XAUTHORITY=/run/user/1000/gdm/Xa"..., "LC_PAPER=en_US.UTF-8", "LANG=en_US.UTF-8", "LS_COLORS=rs=0:di=01;34:ln=01;36"..., "TERM=screen-256color", "LC_IDENTIFICATION=en_US.UTF-8", "DISPLAY=:0", "LC_TELEPHONE=en_US.UTF-8", "LC_MEASUREMENT=en_US.UTF-8", "LC_TIME=en_US.UTF-8", "PATH=/usr/local/sbin:/usr/local/"..., "LC_NUMERIC=en_US.UTF-8", "MAIL=/var/mail/root", "LOGNAME=root", "USER=root", "HOME=/root", "SHELL=/bin/bash", "SUDO_COMMAND=/usr/bin/strace -v "..., "SUDO_USER=haxpor", "SUDO_UID=1000", "SUDO_GID=1000"]) = 0 | |
brk(NULL) = 0x56341b073000 | |
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc75ec9de0) = -1 EINVAL (Invalid argument) | |
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) | |
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=16966, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=248, st_size=126475, st_atime=1628916169 /* 2021-08-14T06:42:49.968131303+0200 */, st_atime_nsec=968131303, st_mtime=1628916169 /* 2021-08-14T06:42:49.952131208+0200 */, st_mtime_nsec=952131208, st_ctime=1628916169 /* 2021-08-14T06:42:49.956131231+0200 */, st_ctime_nsec=956131231}) = 0 | |
mmap(NULL, 126475, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f94165cc000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3003\0\0\0\0\0\0"..., 832) = 832 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=132138, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=320, st_size=162264, st_atime=1628892887 /* 2021-08-14T00:14:47.942972288+0200 */, st_atime_nsec=942972288, st_mtime=1587419004 /* 2020-04-20T23:43:24+0200 */, st_mtime_nsec=0, st_ctime=1607155304 /* 2020-12-05T09:01:44.892522354+0100 */, st_ctime_nsec=892522354}) = 0 | |
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f94165ca000 | |
mmap(NULL, 164104, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94165a1000 | |
mprotect(0x7f94165a4000, 147456, PROT_NONE) = 0 | |
mmap(0x7f94165a4000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f94165a4000 | |
mmap(0x7f94165bc000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7f94165bc000 | |
mmap(0x7f94165c8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f94165c8000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\220\7\0\0\0\0\0"..., 832) = 832 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=134097, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=5776, st_size=2954080, st_atime=1628905117 /* 2021-08-14T03:38:37.385017394+0200 */, st_atime_nsec=385017394, st_mtime=1619570248 /* 2021-04-28T02:37:28+0200 */, st_mtime_nsec=0, st_ctime=1622978026 /* 2021-06-06T13:13:46.016178365+0200 */, st_ctime_nsec=16178365}) = 0 | |
mmap(NULL, 2973600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94162cb000 | |
mmap(0x7f9416343000, 1683456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x78000) = 0x7f9416343000 | |
mmap(0x7f94164de000, 593920, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x213000) = 0x7f94164de000 | |
mmap(0x7f941656f000, 188416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2a3000) = 0x7f941656f000 | |
mmap(0x7f941659d000, 16288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f941659d000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832 | |
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 | |
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=137831, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3968, st_size=2029224, st_atime=1628886301 /* 2021-08-13T22:25:01.161047242+0200 */, st_atime_nsec=161047242, st_mtime=1608116695 /* 2020-12-16T12:04:55+0100 */, st_mtime_nsec=0, st_ctime=1616864785 /* 2021-03-27T18:06:25.212105605+0100 */, st_ctime_nsec=212105605}) = 0 | |
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 | |
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68 | |
mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94160d9000 | |
mprotect(0x7f94160fe000, 1847296, PROT_NONE) = 0 | |
mmap(0x7f94160fe000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f94160fe000 | |
mmap(0x7f9416276000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f9416276000 | |
mmap(0x7f94162c1000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f94162c1000 | |
mmap(0x7f94162c7000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f94162c7000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\201\0\0\0\0\0\0"..., 832) = 832 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\345Ga\367\265T\320\374\301V)Yf]\223\337"..., 68, 824) = 68 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=137860, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=312, st_size=157224, st_atime=1628892280 /* 2021-08-14T00:04:40.911427568+0200 */, st_atime_nsec=911427568, st_mtime=1608116695 /* 2020-12-16T12:04:55+0100 */, st_mtime_nsec=0, st_ctime=1616864785 /* 2021-03-27T18:06:25.212105605+0100 */, st_ctime_nsec=212105605}) = 0 | |
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\345Ga\367\265T\320\374\301V)Yf]\223\337"..., 68, 824) = 68 | |
mmap(NULL, 140408, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94160b6000 | |
mmap(0x7f94160bd000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f94160bd000 | |
mmap(0x7f94160ce000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f94160ce000 | |
mmap(0x7f94160d3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7f94160d3000 | |
mmap(0x7f94160d5000, 13432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f94160d5000 | |
close(3) = 0 | |
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \22\0\0\0\0\0\0"..., 832) = 832 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=137833, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=18816, st_atime=1628892280 /* 2021-08-14T00:04:40.911427568+0200 */, st_atime_nsec=911427568, st_mtime=1608116695 /* 2020-12-16T12:04:55+0100 */, st_mtime_nsec=0, st_ctime=1616864785 /* 2021-03-27T18:06:25.212105605+0100 */, st_ctime_nsec=212105605}) = 0 | |
mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f94160b0000 | |
mmap(0x7f94160b1000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f94160b1000 | |
mmap(0x7f94160b3000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f94160b3000 | |
mmap(0x7f94160b4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f94160b4000 | |
close(3) = 0 | |
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f94160ae000 | |
arch_prctl(ARCH_SET_FS, 0x7f94160af540) = 0 | |
mprotect(0x7f94162c1000, 12288, PROT_READ) = 0 | |
mprotect(0x7f94160b4000, 4096, PROT_READ) = 0 | |
mprotect(0x7f94160d3000, 4096, PROT_READ) = 0 | |
mprotect(0x7f941656f000, 180224, PROT_READ) = 0 | |
mprotect(0x7f94165c8000, 4096, PROT_READ) = 0 | |
mprotect(0x563419fd3000, 8192, PROT_READ) = 0 | |
mprotect(0x7f9416618000, 4096, PROT_READ) = 0 | |
munmap(0x7f94165cc000, 126475) = 0 | |
set_tid_address(0x7f94160af810) = 627289 | |
set_robust_list(0x7f94160af820, 24) = 0 | |
rt_sigaction(SIGRTMIN, {sa_handler=0x7f94160bdbf0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f94160cb3c0}, NULL, 8) = 0 | |
rt_sigaction(SIGRT_1, {sa_handler=0x7f94160bdc90, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f94160cb3c0}, NULL, 8) = 0 | |
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 | |
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 | |
brk(NULL) = 0x56341b073000 | |
brk(0x56341b094000) = 0x56341b094000 | |
uname({sysname="Linux", nodename="haxpor-desktop", release="5.8.16-050816-generic", version="#202010170731 SMP Sat Oct 17 07:34:35 UTC 2020", machine="x86_64", domainname="(none)"}) = 0 | |
openat(AT_FDCWD, "/lib/modules/5.8.16-050816-generic/modules.softdep", O_RDONLY|O_CLOEXEC) = 3 | |
fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=393643, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=853, st_atime=1628960066 /* 2021-08-14T18:54:26.282952046+0200 */, st_atime_nsec=282952046, st_mtime=1627361328 /* 2021-07-27T06:48:48.628468169+0200 */, st_mtime_nsec=628468169, st_ctime=1627361328 /* 2021-07-27T06:48:48.628468169+0200 */, st_ctime_nsec=628468169}) = 0 | |
read(3, "# Soft dependencies extracted fr"..., 4096) = 853 | |
read(3, "", 4096) = 0 | |
close(3) = 0 | |
openat(AT_FDCWD, "/proc/cmdline", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "BOOT_IMAGE=/boot/vmlinuz-5.8.16-"..., 4095) = 123 | |
read(3, "", 3972) = 0 | |
close(3) = 0 | |
stat("hello_1", 0x7ffc75ec9cf0) = -1 ENOENT (No such file or directory) | |
openat(AT_FDCWD, "/lib/modules/5.8.16-050816-generic/modules.builtin.bin", O_RDONLY|O_CLOEXEC) = 3 | |
fstat(3, {st_dev=makedev(0x103, 0x2), st_ino=393836, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=32, st_size=12521, st_atime=1628960099 /* 2021-08-14T18:54:59.951223906+0200 */, st_atime_nsec=951223906, st_mtime=1627361328 /* 2021-07-27T06:48:48.644468246+0200 */, st_mtime_nsec=644468246, st_ctime=1627361328 /* 2021-07-27T06:48:48.644468246+0200 */, st_ctime_nsec=644468246}) = 0 | |
read(3, "\260\7\364W\0\2\0\1 \0/\333ase\0\0\0\0\1\0\0\0\0\0ci\0\0\0\0\1"..., 4096) = 4096 | |
lseek(3, 8192, SEEK_SET) = 8192 | |
read(3, "\0\0\0\0\0\0\0\0\0\300\0\37\324\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 | |
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 233 | |
lseek(3, 4096, SEEK_SET) = 4096 | |
read(3, "\0\0\0 \0\17\207\0\0\0\0\300\0\17\235\0\0\0\1\0\0\0\0\0\0\0\0\1\0\0\0\0"..., 4096) = 4096 | |
lseek(3, 8192, SEEK_SET) = 8192 | |
close(3) = 0 | |
openat(AT_FDCWD, "/sys/module/hello_1/initstate", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "live\n", 31) = 5 | |
read(3, "", 26) = 0 | |
close(3) = 0 | |
openat(AT_FDCWD, "/sys/module/hello_1/holders", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 | |
fstat(3, {st_dev=makedev(0, 0x16), st_ino=1723970, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_size=0, st_atime=1628962752 /* 2021-08-14T19:39:12.877180655+0200 */, st_atime_nsec=877180655, st_mtime=1628962752 /* 2021-08-14T19:39:12.877180655+0200 */, st_mtime_nsec=877180655, st_ctime=1628962752 /* 2021-08-14T19:39:12.877180655+0200 */, st_ctime_nsec=877180655}) = 0 | |
getdents64(3, [{d_ino=1723970, d_off=1, d_reclen=24, d_type=DT_DIR, d_name="."}, {d_ino=1723969, d_off=2147483647, d_reclen=24, d_type=DT_DIR, d_name=".."}], 32768) = 48 | |
getdents64(3, [], 32768) = 0 | |
close(3) = 0 | |
openat(AT_FDCWD, "/sys/module/hello_1/refcnt", O_RDONLY|O_CLOEXEC) = 3 | |
read(3, "0\n", 31) = 2 | |
read(3, "", 29) = 0 | |
close(3) = 0 | |
delete_module("hello_1", O_NONBLOCK) = 0 | |
exit_group(0) = ? | |
+++ exited with 0 +++ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* hello-1.c - The simplest kernel module. | |
* Source from https://sysprog21.github.io/lkmpg/#introduction. | |
*/ | |
#include <linux/kernel.h> /* Needed for KERN_INFO */ | |
#include <linux/module.h> /* Needed by all modules */ | |
int init_module(void) | |
{ | |
pr_info("Hello world 1.\n"); | |
/* A non 0 return means init_module failed; module can't be loaded. */ | |
return 0; | |
} | |
void cleanup_module(void) | |
{ | |
pr_info("Goodbye world 1.\n"); | |
} | |
MODULE_LICENSE("GPL"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment