SEAndroid: состояние дампа нарушает правило никогда не разрешать

При сборке AOSP S(12) я столкнулся со странной проблемой, но, может быть, только на некоторых машинах. Журнал ошибок выглядит следующим образом

      neverallow check failed at out/target/product/msmnile_au/obj/ETC/plat_sepolicy.cil_intermediates/plat_sepolicy.cil:22861 from system/sepolicy/private/property.te:46
  (neverallow domain base_typeattr_745 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open watch watch_mount watch_sb watch_with_perm watch_reads)))
    <root>
    allow at out/target/product/msmnile_au/obj/ETC/plat_sepolicy.cil_intermediates/plat_sepolicy.cil:8901
      (allow dumpstate property_type (file (read getattr map open)))
    <root>
    allow at out/target/product/msmnile_au/obj/ETC/plat_sepolicy.cil_intermediates/plat_sepolicy.cil:11533
      (allow init property_type (file (read write create getattr setattr relabelto append map unlink rename open)))
    <root>
    allow at out/target/product/msmnile_au/obj/ETC/plat_pub_versioned.cil_intermediates/plat_pub_versioned.cil:6370
      (allow dumpstate_31_0 property_type (file (read getattr map open)))
    <root>
    allow at out/target/product/msmnile_au/obj/ETC/plat_pub_versioned.cil_intermediates/plat_pub_versioned.cil:8170
      (allow init_31_0 property_type (file (read write create getattr setattr relabelto append map unlink rename open)))

Failed to generate binary
Failed to build policydb

Потом проверяю правила. system/sepolicy/private/property.te:46 говорит:

      enforce_sysprop_owner(`
  neverallow domain {
    property_type
    -system_property_type
    -product_property_type
    -vendor_property_type
  }:file no_rw_file_perms;
')

и system/sepolicy/public/dumpstate.te:278 говорит:

      # Read any system properties
get_prop(dumpstate, property_type)

Мой вопрос: нарушает ли это правило «никогда не разрешать» и вызывает ли эту ошибку? Если да, то почему иногда не выскакивает эта ошибка. Если нет, то в чем причина моей ошибки?

Заранее спасибо.

2 ответа

Я добавил ниже код в устройство/xiaomi/juice/BroadConfig.mk

      # Sepolicy
SELINUX_IGNORE_NEVERALLOWS := true

Однако это не поддерживается в пользовательских сборках. Поддерживается только в сборках userdebug и eng.

Я понял причину. Причина в том, что у меня есть другой файл, который использует property_type, если этот файл существует, появляется всплывающее окно с проблемой; в остальном все идет хорошо. Надеюсь, это будет полезно для вас. Кстати, сообщение об ошибке далеко от реальной проблемы.

Другие вопросы по тегам