blob: f176bca6e2763d7a4f19f2ed8983c1d944099aba [file] [log] [blame]
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;