Add scheduling counter by modifying the kernel and recompile it
- add counter variable in
struct task_structininclude/linux/sched.h - initialize the counter (set to 0) in
kernel_clone()inkernel/fork.c - increase the counter by 1 in
activate_task()inkernel/sched/core.c - create a entry in
tgid_base_stuff[]infs/proc/base.c
See https://nickchen120235.github.io/2021/04/22/linux-kernel-scheduling.html for more details
Three memory management-related functionalities implemented for both x86 and aarch64 architectures
listvma: print all virtual addresses of all processes in the format ofstart-addr end-addr permissionfindpage addr: print the corresponding physical address of virtual addressaddr. If no such translation exists, printtranslation not foundwriteval addr val: try to writevaltoaddr
See https://nickchen120235.github.io/2021/05/18/linux-kernel-memory-management.html for more details
Modify romfs implementation to accomplish the following functionalities
- hide a file: modify
romfs_readdir - encrypt a file: modify
romfs_readpage - change the permission of a file: modify
romfs_lookup
Two methods for hooking