我有一个名为drv1的字符驱动程序,用户应用程序使用ioctl
与它通信,它将传输参数struct file *filp
。现在我想知道drv1的代码段的地址,但是我遇到了一些问题。如何在tmpfs中找到Linux驱动程序的代码段? (实时)
起初,我想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
形式?或者这是否意味着我错过了其他的东西?