C LSM-安全blob和主要/次要用例

C LSM-安全blob和主要/次要用例,c,linux,security,linux-kernel,linux-security-module,C,Linux,Security,Linux Kernel,Linux Security Module,我目前正在将Linux LSM(内核4.3.5)的源代码升级到与最新版本的Linux内核兼容的版本 我已经成功地更新了代码,因此GCC编译器成功地编译了代码,但是内核将不会启动 到目前为止,我还没有在模块的定义中使用LSM MARY标志或EXCLUSIT标志,但是,当引导到非工作内核时,SMACK和SELinux(取决于选择哪一个作为主要标志)会出错,并在跟踪中提到kmem_cache_free。我的理解是,由于这一点,我的LSM必须作为遗留的主要和独占的实现。这是因为SMACK或Selinux

我目前正在将Linux LSM(内核4.3.5)的源代码升级到与最新版本的Linux内核兼容的版本

我已经成功地更新了代码,因此GCC编译器成功地编译了代码,但是内核将不会启动

到目前为止,我还没有在模块的定义中使用LSM MARY标志或EXCLUSIT标志,但是,当引导到非工作内核时,SMACK和SELinux(取决于选择哪一个作为主要标志)会出错,并在跟踪中提到kmem_cache_free。我的理解是,由于这一点,我的LSM必须作为遗留的主要和独占的实现。这是因为SMACK或Selinux和我的LSM玩得不好,就像他们彼此不玩一样?(请注意,SMACK和Selinux都使用独占和传统主标志)

我正在开发的LSM使用xattrs将规则保存到inode,LSM根据规则向inode提供中介

在我读过的所有文档中,安全blob不断出现,现在我的理解是它们是内核数据结构,如果我只访问inode,我应该不需要实现一个

LSM确实使用带有
kmem\u cache\u create()
的内核缓存,SELinux在其4.3.5内核版本中也使用了该功能,这是一个安全漏洞吗

重述:

  • 在这种情况下,大型或小型LSM的用例是什么

  • 安全blob是否取代了使用
    kmem\u cache\u create()