Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From 2240062a1cfad4b79da4791cfb5702f09c58a0a1 Mon Sep 17 00:00:00 2001
- From: QKIvan <[email protected]>
- Date: Thu, 18 Apr 2024 15:58:32 +0000
- Subject: [PATCH] sunfish: Fix up fingerprint permissions
- * Our fpc fingerprint broken in most Lineage based ROMs
- * Found by @306bobby, Fixed by @QKIvan
- ---
- device-lineage.mk | 4 ++++
- init.fingerprint.sh | 7 +++++++
- init.hardware.rc | 9 +++++++++
- sepolicy/vendor/google/file_contexts | 1 +
- sepolicy/vendor/google/init_fingerprint.te | 11 +++++++++++
- 5 files changed, 32 insertions(+)
- create mode 100644 init.fingerprint.sh
- create mode 100644 sepolicy/vendor/google/init_fingerprint.te
- diff --git a/device-lineage.mk b/device-lineage.mk
- index adb36476b..725cbdeeb 100644
- --- a/device-lineage.mk
- +++ b/device-lineage.mk
- @@ -39,6 +39,10 @@ include hardware/google/pixel/lineage_health/device.mk
- PRODUCT_PACKAGES += \
- +# Init-fingerprint
- +PRODUCT_COPY_FILES += \
- + $(LOCAL_PATH)/init.fingerprint.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.fingerprint.sh \
- +
- # Parts
- PRODUCT_PACKAGES += \
- GoogleParts
- diff --git a/init.fingerprint.sh b/init.fingerprint.sh
- new file mode 100644
- index 000000000..fee74a649
- --- /dev/null
- +++ b/init.fingerprint.sh
- @@ -0,0 +1,7 @@
- +#!/vendor/bin/sh
- +chmod 0200 /sys/devices/platform/soc/soc:fp_fpc*/wakeup_enable
- +chmod 0600 /sys/devices/platform/soc/soc:fp_fpc*/irq
- +chmod 0600 /sys/devices/platform/soc/soc:fp_fpc*/hw_reset
- +chown system system /sys/devices/platform/soc/soc:fp_fpc*/hw_reset
- +chown system system /sys/devices/platform/soc/soc:fp_fpc*/wakeup_enable
- +chown system system /sys/devices/platform/soc/soc:fp_fpc*/irq
- \ No newline at end of file
- diff --git a/init.hardware.rc b/init.hardware.rc
- index b09223389..d87b27321 100644
- --- a/init.hardware.rc
- +++ b/init.hardware.rc
- @@ -720,6 +720,15 @@ service bugreport /system/bin/dumpstate -d -p -z
- on property:ro.boot.hardware.dsds=1
- setprop persist.radio.multisim.config dsds
- +# Init-fingerprint
- +service fpcpermission /vendor/bin/init.fingerprint.sh
- + user root
- + group root
- + disabled
- +
- +on property:sys.boot_completed=1
- + start fpcpermission
- +
- # DSDS feature
- # Restart 1st qcrild after SIM config changed
- on property:vendor.radio.sim_num.switch=1to2 && property:persist.radio.multisim.config=dsds
- diff --git a/sepolicy/vendor/google/file_contexts b/sepolicy/vendor/google/file_contexts
- index 95ee1fc4f..ac9971a16 100644
- --- a/sepolicy/vendor/google/file_contexts
- +++ b/sepolicy/vendor/google/file_contexts
- @@ -47,6 +47,7 @@
- /vendor/bin/hw/android\.hardware\.contexthub-service\.generic u:object_r:hal_contexthub_default_exec:s0
- /vendor/bin/hw/android\.hardware\.contexthub@1\.[0-9]-service\.generic u:object_r:hal_contexthub_default_exec:s0
- /vendor/bin/hw/android\.hardware\.usb@1\.[0-9]-service\.sunfish u:object_r:hal_usb_impl_exec:s0
- +/vendor/bin/init\.fingerprint\.sh u:object_r:init_fingerprint_exec:s0
- # Vendor firmware
- /vendor/firmware_mnt(/.*)? u:object_r:firmware_file:s0
- diff --git a/sepolicy/vendor/google/init_fingerprint.te b/sepolicy/vendor/google/init_fingerprint.te
- new file mode 100644
- index 000000000..298a70936
- --- /dev/null
- +++ b/sepolicy/vendor/google/init_fingerprint.te
- @@ -0,0 +1,11 @@
- +# Init-fingerprint service
- +type init_fingerprint, domain;
- +type init_fingerprint_exec, exec_type, vendor_file_type, file_type;
- +
- +init_daemon_domain(init_fingerprint)
- +
- +allow init_fingerprint sysfs:dir { open read };
- +allow init_fingerprint sysfs_fingerprint:dir search;
- +allow init_fingerprint sysfs_fingerprint:file { getattr setattr };
- +allow init_fingerprint vendor_toolbox_exec:file execute_no_trans;
- +allow init_fingerprint self:capability { chown fowner };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement