Построить AOSP Custom rom - PullRequest
       39

Построить AOSP Custom rom

0 голосов
/ 03 октября 2019

Я пытаюсь создать принудительное исполнение, но у меня было 7 нарушений. Как я могу исправить?

libsepol.report_failure: neverallow on line 5 of device/motorola/sanders/sepolicy/vendor/ims.te (or line 75926 of
 policy.conf) violated by allow hal_camera_default hal_camera_hwservice:hwservice_manager { add };
libsepol.report_failure: neverallow on line 3 of device/motorola/sanders/sepolicy/vendor/hal_nfc_default.te (or l
ine 75741 of policy.conf) violated by allow hal_secure_element_default hal_secure_element_hwservice:hwservice_man
ager { add };
libsepol.report_failure: neverallow on line 3 of device/motorola/sanders/sepolicy/vendor/hal_nfc_default.te (or l
ine 75741 of policy.conf) violated by allow rild hal_secure_element_hwservice:hwservice_manager { add };
libsepol.report_failure: neverallow on line 5 of system/sepolicy/public/hal_secure_element.te (or line 15685 of p
olicy.conf) violated by allow hal_nfc_default hal_secure_element_hwservice:hwservice_manager { add };
libsepol.report_failure: neverallow on line 5 of system/sepolicy/public/hal_camera.te (or line 14186 of policy.co
nf) violated by allow init hal_camera_hwservice:hwservice_manager { add };
libsepol.report_failure: neverallow on line 521 of system/sepolicy/public/domain.te (or line 10809 of policy.conf
) violated by allow hal_fingerprint_default default_android_hwservice:hwservice_manager { add };
libsepol.report_failure: neverallow on line 519 of system/sepolicy/public/domain.te (or line 10807 of policy.conf
) violated by allow qseeproxy default_android_service:service_manager { add };
libsepol.check_assertions: 7 neverallow failures occurred

1 Ответ

1 голос
/ 03 октября 2019

Вы имеете дело с neverallow нарушениями: у вас есть правило, которое говорит: «Никогда не позволяйте типу x делать action для какого-либо другого типа / класса y:c», а затем другое правило, которое говорит: «Этот подтипx разрешено делать action на y:c ". Компилятор SE Linux отклонит эти противоречивые правила. Эту проблему можно решить, изменив правило neverallow, чтобы сделать исключение для определенного подтипа, который вы хотите разрешить.

Точнее, если у вас есть правила вида:

  1. neverallow x y:c action;
  2. type z, x; (имеется в виду z - особый случай x)
  3. allow z y:c action;

Изменить первое правило на neverallow {x -z} y:class action; сделать исключение для подтипа z.

Пример:

  1. Ссылка : neverallow { domain ... -installd} staging_data_file:dir *; говорит объекты типа domain нельзя разрешать доступ к объектам типа staging_data_file и класса dir. Однако это делает исключение для типа installd.

  2. Ссылка : type installd, domain; определяет installd как особый случай domain.

  3. Ссылка : allow installd staging_data_file:dir { open ... }; позволяет installd выполнять действие open над объектами типа staging_data_file и класса dir.

...