Commit Graph

90 Commits

Author SHA1 Message Date
fennecJ
870b26fa2d Update several example code for newer kernel
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/
2021-08-23 21:30:43 +08:00
Jim Huang
22e50f3ce9 Use recent kernel build messages 2021-08-20 01:05:51 +08:00
Jim Huang
f7e2186e6b Revise the version magic descriptions for recent kernels 2021-08-20 01:02:20 +08:00
Jim Huang
3c742b0c7c Fix wording 2021-08-20 00:29:43 +08:00
Cyril Brulebois
98aa78e4d2 Adjust link to ioctl-number.rst 2021-08-16 21:54:03 +02:00
Cyril Brulebois
c43c01db31 Improve wording (avoid a send/sent repetition along the way) 2021-08-16 21:54:03 +02:00
Cyril Brulebois
08b6de2cde Use an https:// link for LWN 2021-08-16 21:54:03 +02:00
Cyril Brulebois
8861d1ead7 Improve wording (statistics seem gathered, not stat-ed) 2021-08-16 21:54:03 +02:00
Cyril Brulebois
4d5649fc08 Improve wording (there's only one kernel) 2021-08-16 21:54:03 +02:00
Cyril Brulebois
3e05439b6d Add emphasis for the y/m values 2021-08-16 21:54:03 +02:00
Cyril Brulebois
b5ab7c5e88 Fix various typos 2021-08-16 21:54:03 +02:00
fennecJ
467cc83cc7
Improve the descriptions about reference count (#62)
The term "reference count" would be better than "use count."
In addition, the usage of module_refcount(THIS_MODULE) was appended
for the reference counter query.
2021-08-17 00:23:22 +08:00
fennecj
99faf5ed0f Fix typo 2021-08-16 23:48:04 +08:00
Jim Huang
4acc65b740 Use \verb for the identifiers starting with "--" 2021-08-16 21:21:10 +08:00
Chih-Yu Chen
c8238430b2
Avoid incorrectly separated words (#55)
This patch fixed some typos and added the missing punctuation.
2021-08-16 18:45:43 +08:00
fennecj
15e44bffa8 Fix grammar and typo 2021-08-16 00:47:23 +08:00
Jim Huang
964f14dda6 Annotate more directories/files 2021-08-13 01:02:21 +08:00
fennecj
990358d75a Fix typo 2021-08-13 00:52:33 +08:00
fennecj
b656755300 Fix typo 2021-08-11 18:34:23 +08:00
Jim Huang
8d7caa7fc9 Make insmod/rmmod more consistent 2021-08-11 15:08:08 +08:00
fennecj
e87998c224 Fix incorrect path
There should be a space between uname and -r
2021-08-10 18:22:33 +08:00
Jim Huang
6b6083fca2 Remove out-of-date information 2021-08-09 23:59:59 +08:00
Jim Huang
b002e43bb8 Annotate NULL 2021-08-09 23:57:30 +08:00
Jim Huang
e800505b8f Point to corresponding kernel header 2021-08-09 23:26:01 +08:00
Jim Huang
a4c44ed3d1 Annotate more commands 2021-08-09 23:23:08 +08:00
Jim Huang
2d368210ce Introduce \src to generate Linux kernel source hyperlinks
The new command \src was introduced for preliminary hyperlink generation
which points to Linux kernel source code. At present, stable/linux.git
was referred:
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

We might switch to specific LTS kernels once requested.
2021-08-09 23:01:34 +08:00
Jim Huang
da3dd34cd2 Revise the path of Linux kernel headers
This patch uses the relative path to Linux kernel headers in source tree
rather than what they are usually inclused in LKM. It would be great to
introduce \href with appropriate hyperlinks to Linux kernel tree.
2021-08-09 22:37:20 +08:00
Jim Huang
e551c98dde Clarify kernel header inclusion
Both <linux/module.h> and <linux/kernel.h> are essential headers, and
LKM should include them. Here, we do not use the fully qualified path
specifying the headers.
2021-08-09 22:05:08 +08:00
Jim Huang
251adeb075 Change the header file which defines sys_delete_module 2021-08-09 22:00:57 +08:00
Jim Huang
526ad3c842 Annotate function calls 2021-08-09 21:41:50 +08:00
Jim Huang
53ef0614e8 Annotate more commands 2021-08-09 21:35:19 +08:00
Jim Huang
971148e3ed Annotate 'mknod' command 2021-08-09 21:19:40 +08:00
Jim Huang
2ac8a81945 Add hyperlinks to microkernel examples 2021-08-09 21:17:22 +08:00
Jim Huang
5786975d89 Update tLDP hyperlink 2021-08-09 21:12:04 +08:00
Jim Huang
bb3466461a Add hyperlink to Understanding The Linux Kernel 2021-08-09 21:11:15 +08:00
Jim Huang
e0ad741c8c Fix layout with \LaTeX 2021-08-09 21:07:35 +08:00
Jim Huang
3208d46d46 Always mention \LaTeX rather than plain text form 2021-08-09 20:53:50 +08:00
Jim Huang
fe0ad50e6f Fix cross reference 2021-08-09 20:51:12 +08:00
Jim Huang
ebfe5404c0 Use the newer entries for Linux kernel documentation 2021-08-09 20:40:09 +08:00
Jim Huang
1b487e5931 Annotate the path 2021-08-09 20:35:24 +08:00
Jim Huang
91418dec73 Remove out-of-date kernel source descriptions 2021-08-09 20:31:03 +08:00
Jim Huang
375bdd0ccf Unify the annotations
This patch enforces the annotations by means of the following:
  * \cpp : C/C++ code, functions, variables, macros, symbols
  * \sh : commands, executable files
  * \verb : path and filenames
2021-08-09 20:20:38 +08:00
VxTeemo
d1c0efeec9
fix minor typo
verb warp wrong at line 330 "linux/.config"
2021-08-09 17:21:56 +08:00
Arush Sharma
51d96f56e5
fix minor typo
Fixes a very minor typo.
2021-08-08 02:23:07 +05:30
Jim Huang
d0721da3d9 Tidy the rest of chapters 2021-08-07 18:35:28 +08:00
Jim Huang
2303d5c851 Tidy section: Optimizations 2021-08-07 11:02:49 +08:00
Jim Huang
40e83aa14b Tidy section: The Device Model 2021-08-07 10:59:15 +08:00
Jim Huang
939bd4e9ab Tidy section: Crypto 2021-08-07 10:56:16 +08:00
Jim Huang
e1d31e9500 Tidy section: Interrupt Handlers 2021-08-07 10:35:52 +08:00
Jim Huang
768b70e95e Tidy section: Scheduling Tasks 2021-08-07 10:27:05 +08:00