随笔分类 - 内核
摘要:小小地跟踪下read函数,从ssize_t read(int fd, void *buf, size_t count)到DATASHEET一调到底,见证内核的分层模块化。--内核服务例程开始提供服务----fs/read_write.c--SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count){ struct file *file; ssize_t ret = -EBADF; int fput_needed; file = fget_light(fd, &fput_needed...
阅读全文
摘要:问题的提出是前一阵和lgx聊天发现,一个被strip的module也可以被成功的insmod,当时知道一些insmod 的原理觉得不太可能,因为一个正常的module文件其实就是标准的ELF格式object文件,如果将他的 symtab strip掉的话,那些printk这类的symbol将不能被正常的解析,理论上是不可能加载成功的,于是 做了一个简单的module在turbo7上测试了一把,modutils的版本是2.4.6,出人意料的是竟然成功的被加 载,真是觉得真是不可思议,因此觉得有必要研究一下insmod的具体实现,最好的方法当然是go to the source先说说关于modul
阅读全文

浙公网安备 33010602011771号