Android L1版本上的kernel module加载:sepolicy, kernel, .ko

本文详细探讨了在Android L1版本中,如何通过sepolicy来管理和控制kernel module的加载过程。理解这一过程对于确保系统的安全性至关重要,涉及到内核与用户空间之间的交互以及权限管理。
摘要由CSDN通过智能技术生成

背景在Android KK 4.4 版本后,Google 有正式有限制的启用SELinux, 来增强android 的安全保护。
SELinux 分成enforcing mode 和 permissive mode, enforcing mode 会强制性限制访问; 而
permissve mode 只审查权限, 但不限制, 即不会产生实质性影响.
KK 版本, Google 只有限制的启用SELinux, 即只有针对netd, installd, zygote, vold 以及它们
直接fork 出的child process 使用enforcing mode, 但不包括zygote fork的普通app.
从L版本起,全面开启SELinux, 几乎所有的process 都使enforcing mode。
项目修改原因1. 项目新增红外设备;
2. IR驱动是作为ko加载;

上述两项,都会因为SELinux而出现失败情况。
修改方法设备:device/mediatek/common/sepolicy/device.te
 type mmcblk1_block_device, dev_type;
 type mmcblk1p1_block_device, dev_type;
 type spm_device, dev_type;
+type ir_scx_device, dev_type;
 
 
工厂测试模式中的设备:device/mediatek/common/sepolicy/factory.te
 allow factory mtd_device:chr_file rw_file_perms;
 allow factory self:capability sys_resource;
 allow factory pro_info_device:chr_file { read write ioctl open};
+
+# Date 2015.9.22
+# Add by 
+allow factory ir_scx_device:chr_file { read write ioctl open };
 
 
文件系统中的设备:device/mediatek/common/sepolicy/file_contexts
 /dev/ttyACM0        u:object_r:ttyACM_device:s0
 /dev/hrm       u:object_r:hrm_device:s0
+### Add by 
+/dev/ir_scx(/.*)? u:object_r:ir_scx_device:s0
 
 
META测试中的设备:device/mediatek/common/sepolicy/meta_tst.te
 # Date: WK15.18
 # Purpose: CCT open lens driver fail
 allow meta_tst lens_device:chr_file { read write open ioctl };
+
+# Date 2015.9.22
+# Add by 
+allow meta_tst ir_scx_device:chr_file { read write ioctl open };
 
 
给予system process操作设备的权限:device/mediatek/common/sepolicy/system_server.te
 allow system_server nvdata_file:dir search;
 allow system_server nvdata_file:file { read getattr open };
+# Date: 2015.9.22
+# add by 
+allow system_server ir_scx_device:chr_file { read write ioctl open };
设置ueventd的设备属性:device/{vendor}/{project}/ueventd.{chip}.rc
 /dev/devmap             0440   root         system
 /dev/mali0              0666   system      graphics
 /dev/gps                0660   gps          system
+/dev/ir_scx                            0660   system           system
 
在init.project.rc中执行insmod操作:device/{vendor}/{project}/init.project.rc
     chmod 0660 /dev/ttyMT2
     chown system system /dev/ttyMT2
# Add for Consumer IR
    chmod 0777 /system/lib/modules/ir_scx.ko
    insmod /system/lib/modules/ir_scx.ko
ko insmod操作:device/mediatek/common/sepolicy/init.te
allow init frp_block_device:blk_file relabelto;
allow init userdata_block_device:blk_file relabelto;
# Date : 2015.9.23
# Operation : Migration 
# Purpose : support to load kernel modules.
allow init self:capability { sys_module };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值