我正在尝试为学校编写一个文件黑名单内核模块。在这个模块中,我需要将截获的系统调用(可以是相对的或绝对的)的路径名称与列入黑名单的路径名称列表进行比较(这些名称都是绝对的)。加载模块时,这些路径可能存在也可能不存在。我被告知要查看/fs/open.c中的系统调用以获取结构路径。我尝试了user_path,但如果路径不存在则会返回错误。任何帮助将不胜感激。
编辑:另外,我在3.0.4内核上。我有从文件中读取列入黑名单的路径名的字符串(是的,我知道它很糟糕,但这是他们想要的方式)并插入到内部列表中。我只是坚持比较黑名单路径名称和传递给截获的系统调用的路径名/文件名。