我有一个名为drv1的字符驱动程序,一个用户应用程序用来ioctl
与之通信,它将传输参数struct file *filp
。现在我想找出drv1的代码段的地址,但是我遇到了一些问题。
起初,我想struct file *filp
可能有用,所以我查看了源代码中的定义,并找到了一个指针struct inode *f_inode; /* cached value */
。然后我粗略搜索了一下struct inode
(tmpfs的时候不熟悉,不知道对不对);一个名为struct address_space *i_mapping的指针似乎是我需要的。但我不知道如何深入挖掘并陷入困境;中存在一些复杂的数据结构struct address_space
,例如:
struct radix_tree_root page_tree; /* radix tree of all pages */
和
struct rb_root i_mmap; /* tree of private and shared mappings */
这是否意味着驱动程序drv1的数据以 的形式组织radix_tree_root
?或者这是否意味着我错过了其他东西?