首页 > 解决方案 > android - selinux avc 拒绝规则不起作用

问题描述

我在 android 11 设备上工作并得到以下 avc 拒绝:

avc: denied { write } for name="wake_lock" dev="sysfs" ino=15207 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs_wake_lock:s0 tclass=file permissive=0 app=com.sample.demo

我将以下规则添加到 pri_app.te:

allow priv_app sysfs_wake_lock:file { write };

但它不起作用,然后我从谷歌搜索它,有人说需要添加 mlstrustedsubject 属性,因为它是 MLS 规则!

但是 aosp 代码在系统 priv_app.te 中添加了一个 neverallow 规则,因此构建将失败:

neverallow priv_app mlstrustedsubject:process fork;

解决这个 selinux 问题的正确方法是什么?

标签: androidselinux

解决方案


为 sysfs_wake_lock 添加 mlstrustedobject 检查;

类型 sysfs_wake_lock、fs_type、sysfs_type、mlstrustedobject;

或者

类型属性 sysfs_wake_lock mlstrustedobject;


推荐阅读