Compare commits

16 Commits
14.0 ... 13.0

Author SHA1 Message Date
Sanju0910
dfc216bfd9 sepolicy: qti: Add rules for Dolby Atmos 2023-07-09 11:22:00 +05:30
cjh1249131356
2d4e173ef8 sepolicy: qti: Add rules for OnePlus Camera
Co-authored-by: Sanju0910 <sreeshankar0910@gmail.com>
Co-authored-by: chandu078 <chandudyavanapelli03@gmail.com>
Signed-off-by: cjh1249131356 <cjh1249131356@gmail.com>
2023-07-09 11:21:52 +05:30
35276cf6af Conflicting code in hardware/oplus optimized 2023-07-09 11:14:59 +05:30
chandu078
daba6cd0a4 sepolicy: Add oplus performance support
Signed-off-by: chandu078 <chandudyavanapelli03@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Sandeep-FED <sandymankara11@gmail.com>
2023-04-22 09:12:34 +00:00
Sandeep-FED
b4223549a3 qti: cleaned up unused sepolicies
Signed-off-by: Sandeep-FED <sandymankara11@gmail.com>
2023-04-22 09:00:15 +00:00
ShevT
d5c78e7dab sepolicy: Allow system app read battery health status
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Sandeep P S <sandymankara11@gmail.com>
2023-04-18 17:32:10 +00:00
Rajan Palaniya
62edb4b43d sepolicy: qti: Allow system_server to read/write oplus battery
Change-Id: Ie81fcdec95cac86f4870abea24c5d4f857d213dd
Signed-off-by: Sandeep-FED <sandymankara11@gmail.com>
2023-04-17 16:16:49 +00:00
Pranav Vashi
4e5cc7bebb sepolicy: Fix a2dp prop denial
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2023-04-17 16:13:56 +00:00
jabashque
6caecd4826 fingerprint: set dimlayer_hbm on finger up/down instead of auth/cancel
When dimlayer_hbm is enabled, HWC ends up disabling all color
transformations, including Night Light. Since we enable/disable
dimlayer_hbm on authenticate/cancel, this means that whenever the UDFPS
circle is present, Night Light ends up temporarily turning off. This is
especially not helpful on the lock screen, where the UDFPS circle is
active all the time.

Instead of turning on dimlayer_hbm during the entire time that the UDFPS
circle is showing, let's turn on dimlayer_hbm only when the user is
pressing down on the circle. In doing so, the color transformations will
be disabled for only when the user is touching the circle. We will still
disable dimlayer_hbm on cancel anyway, just in case that wasn't already
set to off by the time cancel() is called.

However, when enrolling a new fingerprint, the user is going to be
tapping on the UDFPS circle many, many times, and the user may prefer to
just keep dimlayer on for the entire duration. Add `isEnrolling` to
track that, and don't change dimlayer state while that is set to true.

Change-Id: I9ed1a6b5839e39b8f70ff4af4ebe8d1bc66ffb98
Signed-off-by: AnierinB <anierin@evolution-x.org>
2023-04-17 16:12:49 +00:00
ghostrider-reborn
fe99a3dbd3 avicii: Define OEM fast charge sysfs node
* required for oem fast charger detection
 * this forces android to display "charging rapidly" whenever our
   proprietary 30w charger is connected, based on the value of
   this node (0/1)

[SQUASH] martini: sepolicy: address selinux denial for oem fast charge

* 02-18 16:00:08.248  1702  1702 I HwBinder:1702_5: type=1400 audit(0.0:2401): avc: denied { open } for path="/sys/devices/virtual/oplus_chg/battery/voocchg_ing" dev="sysfs" ino=127171 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1

* 02-18 15:36:04.348  1683  1683 W HwBinder:1683_5: type=1400 audit(0.0:2430): avc: denied { read } for name="voocchg_ing" dev="sysfs" ino=127167 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
2023-04-16 07:31:39 +00:00
John Galt
e32d523f9f oplus: Set a more correct doze brightnes
Stock uses different AOD brightness values ranging from 10-50 nits.

We can only use one on AOSP, so let's use max from stock for AOD
brightness.

Inspired by
https://gerrit.aospa.co/c/AOSPA/android_device_nothing_phone1/+/27237

Change-Id: I12505be390753655b36e44dfd18e4b68311925be
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2023-04-16 07:30:34 +00:00
Pranav Vashi
845e3c4f13 gpt-utils: Update AB_PTN_LIST
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2023-04-16 07:29:24 +00:00
Philipp Albrecht
98959daaef sepolicy: qti: Label SM7250 charging sysfs path 2023-02-27 16:04:29 +00:00
KakatkarAkshay
0c1036e4c5 sepolicy: qti: Label SM7250 vibrator node
Change-Id: I67155d9269269aac867eb4f8852b7f496a129ca0
2023-02-27 16:04:22 +00:00
LuK1337
c5e80e1072 sepolicy: qti: Label SM7250 wakeup nodes
for i in $(realpath /sys/class/wakeup/*); do if ! echo "$(ls -dZ $i)" | grep -q sysfs_wakeup; then echo genfscon sysfs $(echo $i | sed -e 's|/sys||g' -e 's|wakeup/wakeup.|wakeup|g' -e 's|wakeup[0-9]*|wakeup|g') u:object_r:sysfs_wakeup:s0; fi; done | sort -u

Change-Id: I482a657cb6edfcef92d52981ce2cbe3a0e174a5f
2023-02-27 16:04:16 +00:00
KakatkarAkshay
0404742cf2 sepolicy: qti: Label vendor.oplus.hardware.cameraMDM@1.0-service
As seen on SM7250

Change-Id: I7e942a556b7f18fd30735ba8b4ab5e53ce679ca2
2023-02-27 16:04:10 +00:00
31 changed files with 324 additions and 15 deletions

View File

@@ -83,7 +83,7 @@ extern "C" {
#define PTN_MULTIIMGOEM "multiimgoem"
#define PTN_MULTIIMGQTI "multiimgqti"
#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, PTN_MULTIIMGOEM, PTN_MULTIIMGQTI, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo", "imagefv", "ImageFv", "vm-bootsys", "shrm", "cpucp"
#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "system", "vendor", "odm", "modem", "bluetooth"
#define AB_PTN_LIST PTN_SWAP_LIST, "bluetooth", "boot", "modem", "odm", "product", "system_ext", "system", "vendor", "vendor_boot"
#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name"
/******************************************************************************

View File

@@ -38,6 +38,7 @@ Return<uint64_t> BiometricsFingerprint::setNotify(
}
Return<uint64_t> BiometricsFingerprint::preEnroll() {
this->isEnrolling = true;
setDimlayerHbm(1);
return mOplusBiometricsFingerprint->preEnroll();
}
@@ -48,6 +49,7 @@ Return<RequestStatus> BiometricsFingerprint::enroll(const hidl_array<uint8_t, 69
}
Return<RequestStatus> BiometricsFingerprint::postEnroll() {
this->isEnrolling = false;
setDimlayerHbm(0);
return mOplusBiometricsFingerprint->postEnroll();
}
@@ -57,7 +59,9 @@ Return<uint64_t> BiometricsFingerprint::getAuthenticatorId() {
}
Return<RequestStatus> BiometricsFingerprint::cancel() {
if (!this->isEnrolling) {
setDimlayerHbm(0);
}
return mOplusBiometricsFingerprint->cancel();
}
@@ -75,7 +79,8 @@ Return<RequestStatus> BiometricsFingerprint::setActiveGroup(uint32_t gid,
}
Return<RequestStatus> BiometricsFingerprint::authenticate(uint64_t operationId, uint32_t gid) {
setDimlayerHbm(1);
// In case postEnroll never got called for whatever reason, set isEnrolling to false.
this->isEnrolling = false;
return mOplusBiometricsFingerprint->authenticate(operationId, gid);
}
@@ -84,12 +89,18 @@ Return<bool> BiometricsFingerprint::isUdfps(uint32_t sensorID) {
}
Return<void> BiometricsFingerprint::onFingerDown(uint32_t x, uint32_t y, float minor, float major) {
if (!this->isEnrolling) {
setDimlayerHbm(1);
}
setFpPress(1);
return mOplusBiometricsFingerprint->onFingerDown(x, y, minor, major);
}
Return<void> BiometricsFingerprint::onFingerUp() {
setFpPress(0);
if (!this->isEnrolling) {
setDimlayerHbm(0);
}
return mOplusBiometricsFingerprint->onFingerUp();
}
@@ -116,8 +127,10 @@ Return<void> BiometricsFingerprint::onAuthenticated(uint64_t deviceId, uint32_t
Return<void> BiometricsFingerprint::onError(uint64_t deviceId, FingerprintError error,
int32_t vendorCode) {
setDimlayerHbm(0);
setFpPress(0);
if (!this->isEnrolling) {
setDimlayerHbm(0);
}
return mClientCallback->onError(deviceId, error, vendorCode);
}

View File

@@ -126,6 +126,7 @@ class BiometricsFingerprint : public IBiometricsFingerprint,
sp<V2_1::IBiometricsFingerprintClientCallback> mClientCallback;
int mOplusDisplayFd;
bool isEnrolling;
};
} // namespace implementation

View File

@@ -120,7 +120,8 @@
<!-- Screen brightness used to dim the screen while dozing in a very low power state.
May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDoze">17</integer>
<integer name="config_screenBrightnessDoze">30</integer>
<item name="config_screenBrightnessDozeFloat" format="float" type="dimen">0.1</item>
<!-- Array of output values for LCD backlight corresponding to the lux values
in the config_autoBrightnessLevels array. This array should have size one greater

View File

@@ -1,16 +1,37 @@
# Bluetooth
persist.sys.bt.a2dp.pendingtime u:object_r:exported_system_prop:s0
# Camera
NA u:object_r:exported_system_prop:s0
oplus.camera. u:object_r:exported_system_prop:s0
persist.camera. u:object_r:exported_system_prop:s0
persist.vendor.aps.debug.framenum u:object_r:exported_system_prop:s0
persist.vendor.apsSN.algo.enable u:object_r:exported_system_prop:s0
persist.vendor.arcsoft.sn.dumprawinfo u:object_r:exported_system_prop:s0
persist.vendor.facebeauty.dump u:object_r:exported_system_prop:s0
persist.vendor.supernight.dump u:object_r:exported_system_prop:s0
ro.camera. u:object_r:exported_system_prop:s0
ro.oplus. u:object_r:exported_system_prop:s0
ro.oppo. u:object_r:exported_system_prop:s0
ro.vendor.gfx.32bit.target u:object_r:exported_system_prop:s0
ro.vendor.oplus. u:object_r:exported_system_prop:s0
vendor.arcsoft. u:object_r:exported_system_prop:s0
vendor.boot.project_name u:object_r:exported_system_prop:s0
vendor.camera. u:object_r:exported_system_prop:s0
vendor.oplus. u:object_r:exported_system_prop:s0
vendor.oppo. u:object_r:exported_system_prop:s0
vendor.runtime.fastcv.log u:object_r:exported_system_prop:s0
# Display
persist.sys.display.iris.absent u:object_r:system_oplus_iris_prop:s0
# Fingerprint
oplus.fingerprint. u:object_r:system_fingerprint_prop:s0
# Logging
persist.camera.assert.panic u:object_r:exported_system_prop:s0
persist.camera.OverrideLogLevels u:object_r:exported_system_prop:s0
persist.sys.assert.panic u:object_r:exported_system_prop:s0
persist.sys.log.ae u:object_r:exported_system_prop:s0
persist.sys.log.af u:object_r:exported_system_prop:s0
persist.sys.log.awb u:object_r:exported_system_prop:s0
persist.al.cfr.loglevel u:object_r:exported_system_prop:s0
persist.sys.log. u:object_r:exported_system_prop:s0
# Modem
persist.sys.enable_modem_dump u:object_r:exported_system_prop:s0

2
sepolicy/qti/vendor/appdomain.te vendored Normal file
View File

@@ -0,0 +1,2 @@
allow { appdomain -isolated_app } adsprpcd_file:dir r_dir_perms;
allow { appdomain -isolated_app } public_adsprpcd_file:file r_file_perms;

View File

@@ -1,2 +1,6 @@
vendor_hal_attribute(cameraMDM)
vendor_hal_attribute(oplusPerf)
vendor_hal_attribute(oplusSensor)
vendor_hal_attribute(dms)
vendor_hal_attribute(dmsClient)
vendor_hal_attribute(dmsServer)

2
sepolicy/qti/vendor/cameraserver.te vendored Normal file
View File

@@ -0,0 +1,2 @@
hal_client_domain(cameraserver, vendor_hal_cameraMDM)
binder_call(cameraserver, vendor_hal_cameraMDM_default)

View File

@@ -2,6 +2,7 @@
type vendor_proc_tri_state_key, fs_type, proc_type;
# Camera
type public_adsprpcd_file, file_type;
type vendor_persist_camera_file, file_type;
# Charging

View File

@@ -2,9 +2,120 @@
/(vendor|system/vendor)/bin/tri-state-key-calibrate u:object_r:tri-state-key-calibrate_exec:s0
# Camera
/mnt/vendor/dsp/fastrpc_shell_3 u:object_r:public_adsprpcd_file:s0
/mnt/vendor/persist/camera(/.*)? u:object_r:vendor_persist_camera_file:s0
/mnt/vendor/persist/dual_camera_calibration(/.*)? u:object_r:vendor_persist_camera_file:s0
/(vendor|system/vendor)/bin/hw/vendor\.oplus\.hardware\.cameraMDM@2\.0-service u:object_r:vendor_hal_cameraMDM_default_exec:s0
/(odm|vendor/odm)/etc/camera/DAC_code\.bin u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/calibrationCfg\.xml u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/camera_engmode\.xml u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/distortionParams\.bin u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/engineer_camera_config u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/inputparam\.xml u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/mwStereoParams\.bin u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/oplus_camera_algo_switch_config u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/oplus_camera_config u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/oplus_camera_zoom_config u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/stereoParams_aftersale\.bin u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/etc/camera/video_beauty_default_config u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/lib/rfsa/adsp/libc\+\+\.so\.1 u:object_r:same_process_hal_file:s0
/(odm|vendor/odm)/lib/rfsa/adsp/libc\+\+abi\.so\.1 u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/bin/hw/vendor\.oplus\.hardware\.cameraMDM@1\.0-service u:object_r:vendor_hal_cameraMDM_default_exec:s0
/(vendor|system/vendor)/dsp(/.*)? u:object_r:adsprpcd_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libBeautyShot_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libVDHexagonBlurless_v2_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libarc_hta_driver_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libarcnn_hvx_1_1_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libarcsoft_hdrplus_hvx_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libbitml_nsp_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libcamera_nn_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libcvpdsp_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libdspCV_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libdsp_streamer_binning\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libfastcvadsp\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libfastcvdsp_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libhdr_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libhexagon_nn_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libhta_dsp_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libsnpe_dsp_domains_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libsnpe_dsp_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libsnpe_dsp_v65_domains_v2_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libsnpe_dsp_v66_domains_v2_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib/rfsa/adsp/libSuperSensor_skel\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib(64)?/libc\+\+_shared\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/camera/fdconfigpreview\.bin u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/camera/fdconfigpreviewlite\.bin u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/camera/fdconfigvideo\.bin u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/camera/fdconfigvideolite\.bin u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libAlgoProcess\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libFaceBeautyLiteCap\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libOPPO_Front_SCPortrait\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libOPPO_SCPortrait\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libPlatformValidatorShared\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libPolarrRender\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libSNPE\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libSonyIMX471RmscLibrary\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libSuperSensor\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libSuperSensorFallback\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libSuperSensorProcessor\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libSuperSensorProcessorCWrapper\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libVDBlurless\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libVDDualCameraBlurlessAPI\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libVDFusionBlurlessAPI_v2\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libVDSuperPhotoAPI\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/lib_oneplus_transparenteffect\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/lib_oneplus_watermark\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libadsprpc\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libaps_frame_registration\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libapsdarksight\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libapsexif\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libapsjpeg\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_beautyshot\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_beautyshot_4\.0\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_dualcam_bokeh_api\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_dualcam_refocus_left\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_dualcam_refocus_preview\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_dualcam_refocus_right\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_dualcam_refocus_uw\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_hdr_couple_api\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_hdr_denoise_api\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_hdrplus_hvx_stub\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_high_dynamic_range\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_high_dynamic_range_couple\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_hta\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_low_light_hdr\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_mfsr_frt\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_portrait_distortion_correction\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_portrait_distortion_correction_20801\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_smart_denoise\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_super_night_raw\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libarcsoft_superportrait\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libcvface_api\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libhexagon_nn_stub\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libhistogram\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libhta_hexagon_runtime\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libipebpsstriping\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libmmosal\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libmorpho_dcface\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libmorpho_image_refiner_deflicker\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libmpbase\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libsnpe_adsp\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libsnpe_dsp_domains_v2\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libstblur_capture_api\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libstdc\+\+\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libswregistrationalgo\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libsymphony-cpu\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libsymphonypower\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/libtriplecam_image_optical_zoom\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/unnhal-acc-adreno\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/unnhal-acc-common\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/unnhal-acc-hta\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/unnhal-acc-hvx\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/vendor\.qti\.hardware\.camera\.postproc@1\.0-service-impl\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib64/vendor\.qti\.hardware\.camera\.postproc@1\.0\.so u:object_r:same_process_hal_file:s0
/mnt/vendor/persist/camera(/.*)? u:object_r:vendor_persist_camera_file:s0
/mnt/vendor/persist/dual_camera_calibration(/.*)? u:object_r:vendor_persist_camera_file:s0
/(vendor|system/vendor)/bin/hw/vendor\.oplus\.hardware\.cameraMDM@[1-2]\.0-service u:object_r:vendor_hal_cameraMDM_default_exec:s0
/(vendor|system/vendor)/lib64/libipebpsstriping\.so u:object_r:same_process_hal_file:s0
# Charging
@@ -18,6 +129,10 @@
/(odm|vendor/odm)/bin/hw/vendor\.pixelworks\.hardware\.display\.iris-service u:object_r:hal_graphics_composer_default_exec:s0
/(odm|vendor/odm)/bin/hw/vendor\.pixelworks\.hardware\.feature\.irisfeature-service u:object_r:hal_graphics_composer_default_exec:s0
# Dolby Atmos
/(vendor|system/vendor)/bin/hw/vendor\.dolby\.hardware\.dms@1\.0-service u:object_r:vendor_hal_dms_default_exec:s0
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
# Engineering
/mnt/vendor/persist/engineermode(/.*)? u:object_r:vendor_persist_engineer_file:s0
@@ -55,6 +170,10 @@
/dev/block/platform/soc/1d84000\.ufshc/by-name/opproduct_[ab] u:object_r:vendor_custom_ab_block_device:s0
/dev/block/platform/soc/1d84000\.ufshc/by-name/splash_[ab] u:object_r:vendor_custom_ab_block_device:s0
# Perf
/(odm|vendor/odm)/bin/hw/vendor\.oplus\.hardware\.performance@1\.0-service u:object_r:vendor_hal_oplusPerf_default_exec:s0
# RMT
/dev/block/platform/soc/1d84000\.ufshc/by-name/oem_dycnvbk u:object_r:vendor_modem_efs_partition_device:s0
/dev/block/platform/soc/1d84000\.ufshc/by-name/oem_stanvbk u:object_r:vendor_modem_efs_partition_device:s0

View File

@@ -3,11 +3,19 @@ genfscon proc /tristatekey u:object_r:vendor_proc_tri_state_key:s0
# Charging
genfscon proc /wireless u:object_r:vendor_proc_wireless:s0
genfscon sysfs /class/oplus_chg/usb u:object_r:vendor_sysfs_usb_supply:s0
genfscon sysfs /class/power_supply/usb u:object_r:vendor_sysfs_usb_supply:s0
genfscon sysfs /class/power_supply/battery u:object_r:vendor_sysfs_battery_supply:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,qpnp-smb5/power_supply/ac u:object_r:vendor_sysfs_battery_supply:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/ac u:object_r:vendor_sysfs_battery_supply:s0
genfscon sysfs /devices/platform/soc/soc:oneplus_wlchg/power_supply u:object_r:vendor_sysfs_usb_supply:s0
genfscon sysfs /devices/platform/soc/soc:oplus,chg_gki/power_supply u:object_r:vendor_sysfs_usb_supply:s0
genfscon sysfs /devices/platform/soc/soc:oplus,chg_intf/oplus_chg u:object_r:vendor_sysfs_usb_supply:s0
genfscon sysfs /devices/virtual/oplus_chg/usb u:object_r:vendor_sysfs_usb_supply:s0
genfscon sysfs /devices/virtual/oplus_chg/battery/voocchg_ing u:object_r:vendor_sysfs_battery_supply:s0
genfscon sysfs /devices/virtual/oplus_chg/battery u:object_r:vendor_sysfs_battery_supply:s0
# Display
genfscon proc /devinfo/lcd u:object_r:vendor_proc_display:s0
genfscon proc /touchpanel u:object_r:vendor_proc_display:s0
@@ -34,6 +42,7 @@ genfscon proc /ultrasound u:object_r:vendor_proc_ultrasound:s0
genfscon proc /oplusVersion u:object_r:vendor_proc_oplus_version:s0
# Vibrator
genfscon sysfs /devices/platform/soc/880000.i2c/i2c-5/5-005a/leds/vibrator u:object_r:sysfs_vibrator:s0
genfscon sysfs /devices/platform/soc/88c000.i2c/i2c-6/6-005a/leds/vibrator u:object_r:sysfs_vibrator:s0
genfscon sysfs /devices/platform/soc/89c000.i2c/i2c-2/2-005a/leds/vibrator u:object_r:sysfs_vibrator:s0
genfscon sysfs /devices/platform/soc/a8c000.i2c/i2c-5/5-005a/leds/vibrator u:object_r:sysfs_vibrator:s0
@@ -49,10 +58,7 @@ genfscon sysfs /devices/platform/soc/188101c.qcom,spss/subsys5/wakeup u:object_r
genfscon sysfs /devices/platform/soc/188101c.qcom,spss/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/1101_00.01.00/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/1103_00.01.00/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c00000.qcom,pcie/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c10000.qcom,pcie/pci0002:00/0002:00:00.0/0002:01:00.0/0306_02.01.00_EFS/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/1c10000.qcom,pcie/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/4080000.qcom,mss/subsys8/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/5c00000.qcom,ssc/subsys7/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/5c00000.qcom,ssc/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/8300000.qcom,turing/wakeup u:object_r:sysfs_wakeup:s0
@@ -78,6 +84,8 @@ genfscon sysfs /devices/platform/soc/abb0000.qcom,evass/wakeup u:object_r:sysfs_
genfscon sysfs /devices/platform/soc/b0000000.qcom,cnss-qca6390/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/b0000000.qcom,cnss-qca6490/subsys9/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/b0000000.qcom,cnss-qca6490/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,power-on@800/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,qpnp-smb5/power_supply/ac/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/ac/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,usb-pdphy@1700/usbpd/usbpd0/otg_default/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-03/c440000.qcom,spmi:qcom,pm8350b@3:qcom,amoled/wakeup u:object_r:sysfs_wakeup:s0
@@ -103,6 +111,7 @@ genfscon sysfs /devices/platform/soc/soc:qcom,ipa_uc/wakeup u:object_r:sysfs_wak
genfscon sysfs /devices/platform/soc/soc:qcom,kgsl-hyp/subsys3/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-cdsp/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-dsps/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-mpss/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:qcom,smp2p-npu/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:qcom,spcom/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:qcom,trustedvm@d0800000/subsys2/wakeup u:object_r:sysfs_wakeup:s0

View File

@@ -1 +1,8 @@
allow hal_audio_default ultrasound_device:chr_file rw_file_perms;
hal_client_domain(hal_audio_default, vendor_hal_oplusPerf)
hal_client_domain(hal_audio_default, vendor_hal_dms)
allow hal_audio_default vendor_hal_dms_default:binder { transfer call };
allow hal_audio_default vendor_hal_dms_hwservice:hwservice_manager { find };

View File

@@ -14,6 +14,19 @@ allow hal_camera_default proc_meminfo:file r_file_perms;
allow hal_camera_default vendor_persist_camera_file:dir w_dir_perms;
allow hal_camera_default vendor_persist_camera_file:file create_file_perms;
allow hal_camera_default cgroup:file rw_file_perms;
allow hal_camera_default input_device:dir r_dir_perms;
allow hal_camera_default input_device:chr_file r_file_perms;
allow hal_camera_default proc:file rw_file_perms;
allow hal_camera_default public_adsprpcd_file:file r_file_perms;
add_hwservice(hal_camera_server, hal_camera_hwservice)
binder_call(hal_camera_default, platform_app)
r_dir_file(hal_camera_default, input_device)
rw_dir_file(hal_camera_default, vendor_sysfs_tof)

View File

@@ -8,9 +8,13 @@ allow hal_fingerprint_default fingerprint_device:chr_file rw_file_perms;
allow hal_fingerprint_default graphics_device:chr_file rw_file_perms;
allow hal_fingerprint_default tee_device:chr_file rw_file_perms;
hal_client_domain(hal_fingerprint_default, vendor_hal_oplusPerf)
rw_dir_file(hal_fingerprint_default, vendor_proc_display)
r_dir_file(hal_fingerprint_default, vendor_proc_fingerprint)
binder_call(hal_fingerprint_default, vendor_hal_oplusPerf_default)
get_prop(hal_fingerprint_default, system_oplus_project_prop)
set_prop(hal_fingerprint_default, system_fingerprint_prop)
set_prop(hal_fingerprint_default, vendor_fingerprint_prop)

View File

@@ -2,8 +2,14 @@
type vendor_hal_camera_extension_hwservice, hwservice_manager_type, protected_hwservice;
type vendor_hal_cameraMDM_hwservice, hwservice_manager_type, protected_hwservice;
# Dolby Atmos
type vendor_hal_dms_hwservice, hwservice_manager_type, protected_hwservice;
# ORMS
type vendor_hal_orms_hwservice, hwservice_manager_type, protected_hwservice;
# Performance
type vendor_hal_oplusPerf_hwservice, hwservice_manager_type, protected_hwservice;
# Sensors
type vendor_hal_oplusSensor_hwservice, hwservice_manager_type, protected_hwservice;

View File

@@ -8,6 +8,9 @@ vendor.qti.hardware.camera.cameraextension::ICameraExtensionService u:object_
vendor.pixelworks.hardware.display::IIris u:object_r:hal_graphics_composer_hwservice:s0
vendor.pixelworks.hardware.feature::IIrisFeature u:object_r:hal_graphics_composer_hwservice:s0
# Dolby Atmos
vendor.dolby.hardware.dms::IDms u:object_r:vendor_hal_dms_hwservice:s0
# Fingerprint
vendor.oplus.hardware.biometrics.fingerprint::IBiometricsFingerprint u:object_r:hal_fingerprint_hwservice:s0
vendor.oplus.hardware.commondcs::ICommonDcsHalService u:object_r:hal_fingerprint_hwservice:s0
@@ -21,6 +24,9 @@ vendor.nxpnq330.nxpese::INxpEse u:object_r:hal_nfc_hwservice:s
# ORMS
vendor.oplus.hardware.orms::IOrmsHalProxy u:object_r:vendor_hal_orms_hwservice:s0
# Performance
vendor.oplus.hardware.performance::IPerformance u:object_r:vendor_hal_oplusPerf_hwservice:s0
# Sensors
vendor.oplus.hardware.oplusSensor::ISensorFeature u:object_r:vendor_hal_oplusSensor_hwservice:s0

2
sepolicy/qti/vendor/init.te vendored Normal file
View File

@@ -0,0 +1,2 @@
allow init proc:file write;
allow init adsprpcd_file:file mounton;

2
sepolicy/qti/vendor/mediacodec.te vendored Normal file
View File

@@ -0,0 +1,2 @@
allow mediacodec vendor_hal_dms_hwservice:hwservice_manager find;
allow mediacodec vendor_hal_dms_default:binder { call transfer };

19
sepolicy/qti/vendor/platform_app.te vendored Normal file
View File

@@ -0,0 +1,19 @@
typeattribute platform_app hal_camera_client;
hal_client_domain(platform_app, vendor_hal_dms);
allow platform_app oem_service:service_manager find;
allow platform_app vendor_camera_data_file:dir getattr;
allow platform_app vendor_sysfs_kgsl:file r_file_perms;
allow platform_app vendor_xdsp_device:chr_file r_file_perms;
allow platform_app app_data_file:file { read execute };
rw_dir_file(platform_app, vendor_sysfs_battery_supply)
binder_call(platform_app, hal_camera_default)
binder_call(platform_app, vendor_hal_cameraMDM_default)
dontaudit platform_app mnt_vendor_file:dir search;

1
sepolicy/qti/vendor/priv_app.te vendored Normal file
View File

@@ -0,0 +1 @@
hal_client_domain(priv_app, vendor_hal_dms);

4
sepolicy/qti/vendor/service_contexts vendored Normal file
View File

@@ -0,0 +1,4 @@
authentication_service u:object_r:oem_service:s0
oplusoiface u:object_r:oem_service:s0
OplusResourceManagerService u:object_r:oem_service:s0
ParamService u:object_r:oem_service:s0

14
sepolicy/qti/vendor/system_app.te vendored Normal file
View File

@@ -0,0 +1,14 @@
# Battery Health
r_dir_file(system_app, vendor_sysfs_usb_supply)
allow system_app sysfs_leds:dir search;
rw_dir_file(system_app, sysfs_dm)
rw_dir_file(system_app, sysfs_fastcharge)
rw_dir_file(system_app, sysfs_sync)
rw_dir_file(system_app, sysfs_vibrator)
rw_dir_file(system_app, sysfs_workqueue)
rw_dir_file(system_app, vendor_proc_display)
rw_dir_file(system_app, vendor_proc_wireless)
rw_dir_file(system_app, vendor_sysfs_graphics)
rw_dir_file(system_app, vendor_sysfs_kgsl)
rw_dir_file(system_app, vendor_sysfs_msm_perf)
rw_dir_file(system_app, vendor_sysfs_usb_supply)

View File

@@ -1 +1,9 @@
rw_dir_file(system_server, vendor_proc_tri_state_key)
# Allow system_server to read Fast Charging status
allow system_server vendor_sysfs_battery_supply:dir { search };
allow system_server vendor_sysfs_battery_supply:file { getattr open read };
allow system_server vendor_sysfs_battery_supply:file rw_file_perms;
rw_dir_file(system_server, vendor_sysfs_battery_supply)
rw_dir_file(system_server, vendor_sysfs_usb_supply)

7
sepolicy/qti/vendor/untrusted_app.te vendored Normal file
View File

@@ -0,0 +1,7 @@
allow {
untrusted_app
untrusted_app_25
untrusted_app_27
untrusted_app_29
untrusted_app_30
} { window_service oem_service }:service_manager find;

View File

@@ -0,0 +1 @@
allow vendor_cdsprpcd public_adsprpcd_file:file r_file_perms;

5
sepolicy/qti/vendor/vendor_hal_dms.te vendored Normal file
View File

@@ -0,0 +1,5 @@
binder_call(vendor_hal_dmsClient, vendor_hal_dmsServer);
binder_call(vendor_hal_dmsServer, vendor_hal_dmsClient);
allow vendor_hal_dmsServer vendor_hal_dms_hwservice:hwservice_manager { find add };
allow vendor_hal_dmsClient vendor_hal_dms_hwservice:hwservice_manager { find add };

View File

@@ -0,0 +1,13 @@
type vendor_hal_dms_default, domain;
hal_server_domain(vendor_hal_dms_default, vendor_hal_dms)
type vendor_hal_dms_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(vendor_hal_dms_default)
allow vendor_hal_dms_default hidl_base_hwservice:hwservice_manager { add };
allow vendor_hal_dms_default vendor_hal_dms_hwservice:hwservice_manager { add };
allow vendor_hal_dms_default vendor_data_file:file { rw_file_perms create unlink };
allow vendor_hal_dms_default vendor_data_file:dir { rw_file_perms add_name remove_name };
allow vendor_hal_dms_default mediacodec:binder call;
binder_call(vendor_hal_dms_default, hal_audio_default)
binder_call(vendor_hal_dms_default, platform_app)

View File

@@ -0,0 +1,16 @@
type vendor_hal_oplusPerf_default, domain;
hal_server_domain(vendor_hal_oplusPerf_default, vendor_hal_oplusPerf)
type vendor_hal_oplusPerf_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(vendor_hal_oplusPerf_default)
binder_call(vendor_hal_oplusPerf_client, vendor_hal_oplusPerf_server)
binder_call(vendor_hal_oplusPerf_server, vendor_hal_oplusPerf_client)
hal_attribute_hwservice(vendor_hal_oplusPerf, vendor_hal_oplusPerf_hwservice)
allow vendor_hal_oplusPerf_default hal_fingerprint_default:dir search;
allow vendor_hal_oplusPerf_default hal_audio_default:dir search;
allow vendor_hal_oplusPerf_default proc_version:file r_file_perms;

1
sepolicy/qti/vendor/vendor_service.te vendored Normal file
View File

@@ -0,0 +1 @@
type oem_service, service_manager_type;

View File

@@ -0,0 +1 @@
allow vendor_vppservice public_adsprpcd_file:file r_file_perms;

View File

@@ -11,4 +11,10 @@ allow vl53l1_daemon_main self:{
allow vl53l1_daemon_main self:netlink_iscsi_socket { read write create bind };
allow vl53l1_daemon_main sysfs:file r_file_perms;
r_dir_file(vl53l1_daemon_main, vendor_persist_camera_file)
r_dir_file(vl53l1_daemon_main, vendor_sysfs_tof)
rw_dir_file(vl53l1_daemon_main, mnt_vendor_file)
rw_dir_file(vl53l1_daemon_main, vendor_persist_camera_file)