lkmpg
                                
                                
                                
                                    lkmpg copied to clipboard
                            
                            
                            
                        The Linux Kernel Module Programming Guide (updated for 5.0+ kernels)
I write a little introduction to debugfs quote from Kernel documentation : > "Debugfs exists as a simple way for kernel developers to make information > available to user space....
I wrote a little paragraph about the callback to be notified in the LKM when a parameter is updated. `module_param_cb(name, ops, arg, perm)` 2 two files in attachments : -...
At present, Linux v5.10+ is the primary kernel version for LKMPG. Meanwhile, Linux v6.0 was released, and it is time to check the availability of existing LKM with Linux v6.0.
The `sudo insmod procfs3.ko` command hangs the Ubuntu 5.19.0-38-generic laptop. In another terminal, the `lsmod|egrep procfs3` execution shows: ``` $ lsmod|egrep procfs3 procfs3 16384 -1 $ sudo rmmod procfs3 ```...
Hi, Thanks for the nice book. But in the example bottomhalf.c, it is trying to sleep in the tasklet which will execute from interrupt context. Then the kernel will crash....
In the syscall chapter, syscall hooking is introduced, so I think it may be a good opportunity to go a step deeper to talk about Ftrace and hooking, and maybe...
The following note about term emulator vs. console seems to suggest that in a virtual console we always see the output of `printk` (or `pr_info`, or others) in the terminal....
Fix multiple issues for vinput module: 1. Removes redundant memset calls that were unnecessary since memory allocated with kzalloc is already zeroed due to the __GFP_ZERO gfp flag. 2. Fixes...
The syscall-steal example does't work on my x84 Laptops with kernel 6.1 on Debian and 5.15 on Ubuntu. As mentioned in this [answer](https://stackoverflow.com/questions/78599971/hooking-syscall-by-modifying-sys-call-table-does-not-work/78607015#78607015) on stack overflow, syscall table is no...
After class_register failure, the wrong function class_unregister was used. The correct cleanup function should be unregister_chrdev, as register_chrdev was used before class_register.