fennecj
5d2f428cff
Fix grammar
2021-07-31 23:19:44 +08:00
demonsome
50e9d9176f
chardev: Revise comment on device node ( #23 )
...
The device file create in this example is "chardev".
So input command "sudo cat /dev/chardev" will get a valid message
"I already told you %d times Hello world!"
2021-07-31 23:03:16 +08:00
fennecJ
a4af7b5e5a
Fix dead link ( #21 )
2021-07-30 14:47:22 +08:00
Jim Huang
377ec93a05
Add information for contributing
2021-07-30 13:45:58 +08:00
Jim Huang
b50323330c
Merge pull request #19 from fennecJ/master
...
Fix typo
2021-07-30 00:40:58 +08:00
fennecj
69b40b7bda
Fix typo
2021-07-29 19:52:22 +08:00
linD026
c7a7a667cf
Avoid strlen by assigning explicit length of string for proc_read ( #18 )
...
Since the address of buffer is userspace address, it may trigger an unexpected fault on strlen(buffer).
On Ubuntu 20.04.2 LTS ( 5.8.0-63-generic ), using strlen(buffer) will result in the following:
[ 2168.010930] /proc/buffer1k created
[ 2177.014347] BUG: unable to handle page fault for address: 00007fbbc2a17000
[ 2177.014355] #PF: supervisor read access in kernel mode
[ 2177.014358] #PF: error_code(0x0000) - not-present page
[ 2177.014361] PGD 80000003c61d0067 P4D 80000003c61d0067 PUD 3ee6c5067 PMD 40e1ff067 PTE 0
[ 2177.014369] Oops: 0000 [#1 ] SMP PTI
[ 2177.014376] CPU: 7 PID: 4750 Comm: cat Tainted: P W OE 5.8.0-63-generic #71~20.04.1-Ubuntu
[ 2177.014387] RIP: 0010:procfile_read+0xb/0x20 [procfs2]
[ 2177.014393] Code: Unable to access opcode bytes at RIP 0xffffffffc1253fe1.
[ 2177.014396] RSP: 0018:ffffbc84412cbe78 EFLAGS: 00010286
[ 2177.014400] RAX: ffffffffc1254000 RBX: 0000000000020000 RCX: ffffbc84412cbef0
[ 2177.014403] RDX: 0000000000020000 RSI: 00007fbbc2a17000 RDI: ffffa057d2708f00
[ 2177.014406] RBP: ffffbc84412cbe80 R08: 0000000000000001 R09: 0000000000000000
[ 2177.014409] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa0581de8ccc0
[ 2177.014411] R13: ffffa057d2708f00 R14: ffffbc84412cbef0 R15: 00007fbbc2a17000
[ 2177.014415] FS: 00007fbbc3bfa580(0000) GS:ffffa0582dbc0000(0000) knlGS:0000000000000000
[ 2177.014418] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2177.014421] CR2: ffffffffc1253fe1 CR3: 00000003c611c004 CR4: 00000000003606e0
[ 2177.014424] Call Trace:
[ 2177.014435] proc_reg_read+0x66/0x90
[ 2177.014441] vfs_read+0xaa/0x190
[ 2177.014446] ksys_read+0x67/0xe0
[ 2177.014451] __x64_sys_read+0x1a/0x20
[ 2177.014458] do_syscall_64+0x49/0xc0
[ 2177.014464] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 2177.014467] RIP: 0033:0x7fbbc3b18142
[ 2177.014472] Code: c0 e9 c2 fe ff ff 50 48 8d 3d 3a ca 0a 00 e8 f5 19 02 00 0f 1f 44 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 0f 05 <48> 3d 00 f0 ff ff 77 56 c3 0f 1f 44 00 00 48 83 ec 28 48 89 54 24
[ 2177.014476] RSP: 002b:00007ffcf2d20d78 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
[ 2177.014479] RAX: ffffffffffffffda RBX: 0000000000020000 RCX: 00007fbbc3b18142
[ 2177.014482] RDX: 0000000000020000 RSI: 00007fbbc2a17000 RDI: 0000000000000003
[ 2177.014485] RBP: 00007fbbc2a17000 R08: 00007fbbc2a16010 R09: 0000000000000000
[ 2177.014487] R10: 0000000000000022 R11: 0000000000000246 R12: 0000560f8ff081f0
[ 2177.014490] R13: 0000000000000003 R14: 0000000000020000 R15: 0000000000020000
[ 2177.014635] CR2: 00007fbbc2a17000
[ 2177.014639] ---[ end trace b71ff05c1b0a10f6 ]---
[ 2177.184174] RIP: 0010:procfile_read+0xb/0x20 [procfs2]
[ 2177.184176] Code: Unable to access opcode bytes at RIP 0xffffffffc1253fe1.
[ 2177.184177] RSP: 0018:ffffbc84412cbe78 EFLAGS: 00010286
[ 2177.184178] RAX: ffffffffc1254000 RBX: 0000000000020000 RCX: ffffbc84412cbef0
[ 2177.184179] RDX: 0000000000020000 RSI: 00007fbbc2a17000 RDI: ffffa057d2708f00
[ 2177.184180] RBP: ffffbc84412cbe80 R08: 0000000000000001 R09: 0000000000000000
[ 2177.184180] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa0581de8ccc0
[ 2177.184181] R13: ffffa057d2708f00 R14: ffffbc84412cbef0 R15: 00007fbbc2a17000
[ 2177.184182] FS: 00007fbbc3bfa580(0000) GS:ffffa0582dbc0000(0000) knlGS:0000000000000000
[ 2177.184182] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2177.184183] CR2: ffffffffc1253fe1 CR3: 00000003c611c004 CR4: 00000000003606e0
2021-07-29 16:10:52 +08:00
Jim Huang
a82cf74c15
Open Software License is not popular. Explicitly refer to OSI
2021-07-27 10:10:16 +08:00
2011eric
d0f604fc26
Use unified command prompt ( #11 )
...
This patch enforces the assumption of using as a non-root user. That is,
it is necessary to specify sudo for the essential commands such as
insmod and rmmod. In addition, most command prompts should start with
$ (dollar sign).
2021-07-26 13:10:34 +08:00
Jim Huang
cb5ae95673
Merge pull request #12 from 25077667/style-tweaks
...
Fix trivial tweak for missing comma
2021-07-26 03:18:06 +08:00
25077667
00f7e7018f
Fix trivial tweak for missing comma
2021-07-26 03:08:27 +08:00
Jim Huang
65a8c123e4
Tidy section: hello world
2021-07-26 01:46:26 +08:00
Wei-Lun Tsai
ddcbb69fa3
Trivial fix for writing style
2021-07-24 09:14:46 +08:00
Jim Huang
1e3c1b8a76
Apply trivial tweak
2021-07-23 14:36:26 +08:00
Jim Huang
40ae17c1f8
Merge pull request #2 from 25077667/master
...
Redraw figure: seq_file
2021-07-23 14:33:30 +08:00
Jim Huang
78ca9884de
Merge pull request #3 from ekangmonyet/minor-fixes
...
Typo at 0.7.3 Manage /proc file with seq_file
2021-07-23 14:31:18 +08:00
Jim Huang
75356dbe43
Tidy section: hello world
2021-07-23 14:30:09 +08:00
Jim Huang
9b05bf44dd
Tweak wording
2021-07-23 14:05:52 +08:00
Jim Huang
58e55d03d0
Tidy section: headers
2021-07-23 14:02:27 +08:00
Jim Huang
f7f46f145d
Tidy section: introduction
2021-07-23 13:56:51 +08:00
Ekang Monyet
121d816282
Typo at 0.7.3 Manage /proc file with seq_file
2021-07-23 11:07:17 +08:00
25077667
245ac0298e
Use TikZ to re-draw seq_file graph
2021-07-23 02:10:57 +08:00
Jim Huang
35ac926de5
Remove unused packages
2021-07-22 20:47:48 +08:00
Jim Huang
faf3aa7c22
Make each source file more consistent
...
It is vital to denote the file name and summary for each source,
otherwise readers could not figure out the corresponding files.
2021-07-22 11:25:32 +08:00
Jim Huang
1c93f2f5ef
Shorten sample code
2021-07-22 10:55:14 +08:00
Jim Huang
52dfb6744d
Use American English words
2021-07-22 10:54:24 +08:00
Jim Huang
2e30e181f8
Drop duplicated copyright notice
2021-07-22 10:53:45 +08:00
Jim Huang
b76e5d378e
Reduce header inclusion
2021-07-22 10:31:24 +08:00
Jim Huang
08e7b6efc3
Emphasize on 5.x kernel
2021-07-22 08:31:47 +08:00
Jim Huang
60856826f0
Exclude the files generated by Linux kernel build system
2021-07-22 08:09:20 +08:00
Jim Huang
d8812d2d9a
Revise the authorship
2021-07-22 07:39:35 +08:00
Jim Huang
675c002b15
Remove linux-2.6 specific checks
2021-07-22 07:33:27 +08:00
Jim Huang
760bbe70cb
Drop duplicated module author information
2021-07-22 07:29:07 +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
936d82fad7
Emphasize on the license terms
2021-07-22 06:39:22 +08:00
Jim Huang
2246e20809
Add LaTeX script and sample code
2021-07-22 06:35:24 +08:00
Jim Huang
826b45b3d9
Initial import
2021-07-22 06:34:19 +08:00