我需要创建2个新的系统调用来设置并通过给定的pid从进程获取属性.我更改了task_struct,添加了int z_value(这是我需要设置/获取的)
我还设法为每个创建的进程设置默认的z_value(200).
当我运行get system call时,我可以看到默认的z_value正确.但是当我尝试设置z_value时没有任何反应.
没有编译错误,没有分段错误等.
这是我的系统调用.
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/uaccess.h>
asmlinkage void sys_set_z_value ( int user_value , pid_t pid )
{
rcu_read_lock();
struct task_struct *p = find_task_by_vpid(pid);
p->z_value = user_value;
rcu_read_unlock();
}
Run Code Online (Sandbox Code Playgroud)