logcat中的"avc: denied { read } for name..."行是什么意思?

What is the meaning of "avc: denied { read } for name..." line in logcat?

我想知道 logcat 中的 avc: denied 个消息。

W/RenderThread: type=1400 audit(0.0:631436): avc: denied { read } for name="perf_ioctl" dev="proc" ino=4026533695 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0

这是什么意思?

这取决于 SELinux 限制。 你无法避免它。

简单来说:这意味着有“某人”试图“{read}”某些内容,但 SELinux 阻止了它,因为在 SELinux 的“受信任”列表中找不到该应用程序。 通常系统的一些特定和危险的位置被安装的应用程序限制,因此 SELinux 停止 read/wrote/execute 东西 in/from 那个位置。

(1) Enforcing SELinux 写入记录并拒绝访问。 (2) Permissive SELinux 写入日志但允许访问。 (3) 禁用的 SELinux 不写入日志并允许访问。

为避免这种情况,您应该在更改有关 SELinux 的特定文件后重建 ROM,您必须在“受信任的区域”中添加您的应用程序。

您可以安装具有不同 SELinux 设置的不同内核。