| get_prop(domain, camera_prop) |
| |
| dontaudit domain self:capability sys_module; |
| dontaudit domain kernel:system module_request; |
| |
| # b/29072816 |
| # Triggered by kernel code which calls request_firmware(), which |
| # eventually calls filp_open(), which attempts to look in /firmware |
| # for the firmware file itself using the context of the calling |
| # domain. |
| # This does not occur on other Android builds because the marlin |
| # kernel has various references to /firmware paths in the following |
| # code: |
| # |
| # /* direct firmware loading support */ |
| # static char fw_path_para[256]; |
| # static const char * const fw_path[] = { |
| # fw_path_para, |
| # "/lib/firmware/updates/" UTS_RELEASE, |
| # "/lib/firmware/updates", |
| # "/lib/firmware/" UTS_RELEASE, |
| # "/lib/firmware", |
| # "/firmware/image", |
| # "/firmware/radio", |
| # "/firmware/adsp" //HTC_AUD |
| # }; |
| # |
| # As described at http://www.makelinux.net/ldd3/chp-14-sect-8 , |
| # the userspace helper (in our case, ueventd) should always be loading |
| # these files, not the requesting process itself. It is only due to a |
| # hack added by Linus Torvalds that the kernel even attempt to load |
| # firmware files directly from the filesystem |
| # (https://github.com/torvalds/linux/commit/abb139e75c2cdbb955e840d6331cb5863e409d0e). |
| # |
| # Suppress these denials for most domains, since ueventd should be doing the |
| # opening of the firmware. |
| dontaudit domain firmware_file:dir search; |
| |
| allow domain debugfs_ion:dir search; |
| allow domain debugfs_kgsl:dir search; |