#include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <asm/uaccess.h> #include <linux/syscalls.h> SYSCALL_DEFINE2(deneme_syscall, int, a, int, b) { struct file *f; char buf[2048]; mm_segment_t fs; int i; for(i=0;i<128;i++) buf[i] = 0; f = filp_open("/proc/cpuinfo", O_RDONLY, 0); if(f == NULL) printk(KERN_ALERT "filp_open error!!.\n"); else{ fs = get_fs(); set_fs(get_ds()); f->f_op->read(f, buf, 128, &f->f_pos); set_fs(fs); printk(KERN_INFO "buf:%s\n",buf); } filp_close(f,NULL); return 0; }
Posted inLinux