无法从android中的用户空间打开设备节点

时间:2016-05-19 13:29:46

标签: linux kernel linux-device-driver kernel-module android-drm

在android中,我在从用户空间中工作的hwcomposer打开设备节点(dev / dri / card0)时遇到问题。我正在尝试打开设备:

fd_ = open("/dev/dri/card0", O_RDWR);
if (fd_ < 0) {
    ALOGE("Failed to open dri- %s", strerror(-errno));
    return -ENODEV;
}

错误:

hwc-drm-resources: Failed to open dri- Unknown error -13 

错误13是权限访问问题。为此,我在android:

中的ueventd.rc中配置了权限
/dev/dri/*                0666   root       graphics

我也尝试过设置系统权限。它仍然无效。

当我在/ dev / dri中运行ls -la时。它显示以下输出,它具有用户模式的rw权限。

crw-rw-rw- root     graphics 226,   0 2015-01-01 00:26 card0
crw-rw-rw- root     graphics 226,  64 2015-01-01 00:26 controlD64

我不明白为什么hwcomposer无法访问设备节点,因为为设备节点设置了权限。

1 个答案:

答案 0 :(得分:1)

解决。我忘了将设备节点的条目放在/ external / sepolicy中。

/dev/dri(/.*)?         u:object_r:graphics_device:s0

有关sepolicy的更多信息,请访问android网站。 https://source.android.com/security/selinux/implement.html