linD026
0f9c72631c
Fix dereference NULL pointer with proc_lseek
...
Since the operations are static storage duration, the pointer in
operation structures will initialize with NULL. But, the kernel
doesn't check whether the pointer is NULL or not when calling it.
Related Discussion:
- https://github.com/sysprog21/lkmpg/issues/165
- https://github.com/sysprog21/lkmpg/issues/160
Close #165
2022-09-21 16:57:23 +08:00
linD026
148fb013ee
Avoid unexpected concurrent access ( #94 )
...
In file {chardev,chardev2,sleep}.c, the variable to determine
the exclusive access was of integer type, which led to race
condition.
This patch rewrote the above with atomic CAS respectively
to eliminate the race.
Close #93
2021-09-07 23:42:06 +08:00
linD026
9289bfe59c
Fix the warnings raised by Sparse ( #92 )
...
Sparse[1] is a semantic parser, capable of finding out the potential
problems of Linux kernel code. This patch fixed the warnings.
[1] https://www.kernel.org/doc/html/latest/dev-tools/sparse.html
2021-09-04 17:53:29 +08:00
linD026
eef2bc4395
Enforce Linux kernel coding style ( #88 )
...
The only exception is to indent with four spaces rather than tabs
for sticking to compact layout of source listing.
Close #87
2021-09-02 15:15:07 +08:00
ChinYikMing
ad4ac48eec
Fix init message
2021-08-10 00:48:19 +08:00
Jim Huang
8c12c8dce1
Make program style consistent again
2021-08-08 01:50:42 +08:00
Jim Huang
10c7a9433a
Apply editorial changes
...
This patch makes source listing shorter and more compact, that helps
when browsing.
2021-08-08 01:24:59 +08:00
Jim Huang
d43259c553
Drop the deprecated init_module() and cleanup_module()
2021-08-08 00:29:24 +08:00
Jim Huang
64f791f274
Improve the compatibility with kernel version < 5.6
2021-07-22 07:17:31 +08:00
Jim Huang
50b8dfe6c2
Enforce the customized style for example code
...
Instead of using tab for indention, the style defaults to 4 spaces for
the sake of compact layout.
2021-07-22 06:58:13 +08:00
Jim Huang
2246e20809
Add LaTeX script and sample code
2021-07-22 06:35:24 +08:00