Kernel 侵入内核中的sys_open并将文件内容抓取到缓冲区

Kernel 侵入内核中的sys_open并将文件内容抓取到缓冲区,kernel,system-calls,Kernel,System Calls,我试图侵入fs/open.c中的系统调用“sys_open”,并将文件内容抓取到char*缓冲区中。以下是调用堆栈: sys_open->filp_open->dentry_open,我在dentry_open的末尾添加了以下代码,以便将文件内容读取到缓冲区中,但不起作用,有什么想法吗 char *buf = kmalloc(sizeof(*f), GFP_KERNEL); mm_segment_t fs; fs = get_fs(); set_fs(get_ds()); f->f_op-

我试图侵入fs/open.c中的系统调用“sys_open”,并将文件内容抓取到char*缓冲区中。以下是调用堆栈: sys_open->filp_open->dentry_open,我在dentry_open的末尾添加了以下代码,以便将文件内容读取到缓冲区中,但不起作用,有什么想法吗

char *buf = kmalloc(sizeof(*f), GFP_KERNEL);
mm_segment_t fs;
fs = get_fs();
set_fs(get_ds());
f->f_op->read(f, buf, sizeof(*f), 0);
set_fs(fs);

最后我自己解决了这个问题

通过直接调用“kernel_read()”