[r-mr1] radio: Allow finding qti uce service#597
[r-mr1] radio: Allow finding qti uce service#597jerpelea merged 3 commits intosonyxperiadev:r-mr1from
Conversation
MarijnS95
left a comment
There was a problem hiding this comment.
I have a hunch this should be:
hal_attribute_hwservice(hal_telephony, vnd_qti_uce_hwservice)
In hal_telephony.te.
e60730d to
8472ab9
Compare
|
@MarijnS95 might taking another look? |
|
@ix5 That's pretty crazy, shouldn't If it is, please: But I don't see any other domain with the rights to find/host this service... Perhaps because I have never used this and anyone doing so (PE) is still in permissive.
|
MarijnS95
left a comment
There was a problem hiding this comment.
akatsuki:/ # lshal | grep -i uce
X Y android.hidl.base@1.0::IBase/com.qualcomm.qti.uceservice 0/1 770 518
DM Y com.qualcomm.qti.uceservice@2.0::IUceService/com.qualcomm.qti.uceservice 0/1 770 518
DM Y com.qualcomm.qti.uceservice@2.1::IUceService/com.qualcomm.qti.uceservice 0/1 770 518
akatsuki:/ # ps -A 770
USER PID PPID VSZ RSS WCHAN ADDR S NAME
system 770 1 59588 4536 binder_io+ 0 S imsrcsdSo imsrcsd hosts it, which is ims_exec, so ims. Should be a server domain, did you run-test this on-device?
|
We should get @Paulbouchara to test this in parallel with us on PE since they use IMS and go enforcing soon™, in particular the remaining Iirc |
The next PE release will be on enforcing, as every releases that will follow, so sure, I'll test this asap when I'll be back and report with logs |
This reverts commit bd5eaf8. Reason for revert: Original commit was typo'd, it meant to allow `shell`, not `system_server` to read syslog. However, that'd be a neverallow: `system/sepolicy/domain.te:519`: ``` neverallow appdomain kernel:system { syslog_read syslog_mod syslog_console }; ``` `system/sepolicy/private/shell.te:22`: ``` .# XXX Transition into its own domain? app_domain(shell) ```
|
@ix5 One more thing: the denial shown in the logs tries to find (and perhaps add later) this service for the
|
|
@MarijnS95 That macro, however, forbids any other domains (even parent ones) from adding the service. So The
|
|
Final verdict:
As posted in master...MarijnS95:ims-attribute-group we should check whether more hwservices in the (Note that |
There was no need to keep the definitions shared between system and vendor when the domains using them were contained in our vendor sepolicy only.
Denial:
avc: denied { find } for \
interface=com.qualcomm.qti.uceservice::IUceService \
sid=u:r:radio:s0 scontext=u:r:radio:s0 \
tcontext=u:object_r:vnd_qti_uce_hwservice:s0 \
tclass=hwservice_manager
|
For posterity, this was the original description of the "solution" using HAL attributes we discarded: This accomplishes the following:
Since ims is no longer allowed access to vnd_qti_uce_hwservice, it needs to be converted into a server of hal_telephony via the Denial: Plus a small fixup |
radio: Allow finding qti.uceservice
qcrildas part of the radio domain needs to findcom.qualcomm.qti.uceservice::IUceServiceMove public definitions back to vendor
There was no need to keep the definitions shared between system and vendor when the domains using them were contained in our vendor sepolicy only.
Revert shell dmesg
Original commit was typo'd, it meant to allow
shell, notsystem_serverto read syslog.However, that'd be a neverallow:
system/sepolicy/domain.te:519:system/sepolicy/private/shell.te:22: