mirror of
https://github.com/sysprog21/lkmpg.git
synced 2024-11-22 09:02:10 +08:00
870b26fa2d
Known issues with current example code: If you using newer kernel(e.g linux 5.11.x) to compile the example code, you may meet following error: 1. syscall.c:83:50: error: ‘ksys_close’ undeclared; 2. cryptosk.c:17:24: error: field ‘sg’ has incomplete type 3. cryptosk.c:143:9: error: implicit declaration of function ‘get_random_bytes’ 4. error: macro "DECLARE_TASKLET" passed 3 arguments, but takes just 2 Solutions/workaround: 1. In syscall.c, replace #include <linux/syscalls.h> with #include <linux/fdtable.h> and replace ksys_close with close_fd if the kernel version >= 5.11. [1][2] 2. Add #include <linux/scatterlist.h> into cryptosk.c 3. Add #include <linux/random.h> into cryptosk.c 4. In bottomhalf.c and example_tasklet.c, replace DECLARE_TASKLET with DECLARE_TASKLET_OLD and dispose third argument(0L). [3] [1] - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1572bfdf21d4d50e51941498ffe0b56c2289f783 [2] - https://www.mail-archive.com/meta-arago@arago-project.org//msg11939.html [3] - https://patchwork.kernel.org/project/kernel-hardening/patch/20200716030847.1564131-3-keescook@chromium.org/ |
||
---|---|---|
.. | ||
other | ||
.clang-format | ||
bottomhalf.c | ||
chardev.c | ||
chardev.h | ||
chardev2.c | ||
completions.c | ||
cryptosha256.c | ||
cryptosk.c | ||
devicemodel.c | ||
example_atomic.c | ||
example_mutex.c | ||
example_rwlock.c | ||
example_spinlock.c | ||
example_tasklet.c | ||
hello-1.c | ||
hello-2.c | ||
hello-3.c | ||
hello-4.c | ||
hello-5.c | ||
hello-sysfs.c | ||
intrpt.c | ||
ioctl.c | ||
kbleds.c | ||
Makefile | ||
print_string.c | ||
procfs1.c | ||
procfs2.c | ||
procfs3.c | ||
procfs4.c | ||
sched.c | ||
sleep.c | ||
start.c | ||
stop.c | ||
syscall.c |