Skip to content
Snippets Groups Projects
  1. Mar 17, 2017
    • Alex Klyubin's avatar
      Annotate most remaining HALs with _client/_server · 9e6b24c6
      Alex Klyubin authored
      This switches most remaining HALs to the _client/_server approach.
      To unblock efforts blocked on majority of HALs having to use this
      model, this change does not remove unnecessary rules from clients of
      these HALs. That work will be performed in follow-up commits. This
      commit only adds allow rules and thus does not break existing
      functionality.
      
      The HALs not yet on the _client/_server model after this commit are:
      * Allocator HAL, because it's non-trivial to declare all apps except
        isolated apps as clients of this HAL, which they are.
      * Boot HAL, because it's still on the non-attributized model and I'm
        waiting for update_engine folks to answer a couple of questions
        which will let me refactor the policy of this HAL.
      
      Test: mmm system/sepolicy
      Test: Device boots, no new denials
      Test: Device boots in recovery mode, no new denials
      Bug: 34170079
      Change-Id: I03e6bcec2fa02f14bdf17d11f7367b62c68a14b9
      9e6b24c6
  2. Mar 16, 2017
  3. Mar 15, 2017
    • Jiwen 'Steve' Cai's avatar
      Allow fd access between mediacodec and bufferhubd · eeb0d380
      Jiwen 'Steve' Cai authored
      bufferhubd should be able to use sync fence fd from mediacodec; and
      mediacodec should be able to use a gralloc buffer fd from the bufferhubd.
      
      Bug: 32213311
      Test: Ran exoplayer_demo and verify mediacodec can plumb buffer through
      bufferhub.
      
      Change-Id: Id175827c56c33890ecce33865b0b1167d872fc56
      eeb0d380
    • Yifan Hong's avatar
      Allow system_server binder_call into hal_graphics_allocator · 3107a6c3
      Yifan Hong authored
      Test: no log spam for graphics allocator
      Test: dmesg | audit2allow does not show denial for
      hal_graphics_allocator_default
      Test: system is responsive after boot (because
            android.hardware.graphics.allocator@2.0::IAllocator getService()
            will not be blocked)
      
      Bug: 36220026
      Change-Id: I3e103f88988fe4a94888e92ee8c5b1f27845ad9e
      3107a6c3
    • Jeff Vander Stoep's avatar
      Specify intermediates dir for sepolicy · d2053bd0
      Jeff Vander Stoep authored
      Policy intermediates are being placed in a seemingly random
      intermediates directories.
      
      Currently:
      out/target/product/marlin/obj_arm/SHARED_LIBRARIES/libsoftkeymaster_intermediates
      
      Instead, place intermediates in the sepolicy_intermediates dir.
      
      Test: intermediates now placed in:
      out/target/product/marlin/obj/ETC/sepolicy_intermediates
      Test: Marlin builds, no change to sepolicy on device.
      Bug: 36269118
      
      Change-Id: Ib6e9d9033be4dc8db0cc66cb47d9dc35d38703fe
      d2053bd0
    • Treehugger Robot's avatar
      Merge "Remove unused /selinux_version" · bb26f904
      Treehugger Robot authored
      bb26f904
    • Fyodor Kupolov's avatar
    • Alex Klyubin's avatar
      Remove unused /selinux_version · e8243518
      Alex Klyubin authored
      This file is no longer needed because it was needed for supporting
      reloadable/dynamic SELinux policy which is no longer supported.
      
      Test: Clean build, flash, device boots without additional denials.
            Reboot to recovery works, no additional denials.
      Bug: 33642277
      Change-Id: I7fffe2fd12f586ed9b3ae54e35d17abdebbe7bce
      e8243518
    • Treehugger Robot's avatar
      Merge "Fix build under GitC client." · 9c5d9e65
      Treehugger Robot authored
      9c5d9e65
    • Fyodor Kupolov's avatar
      Split preloads into media_file and data_file · b238fe66
      Fyodor Kupolov authored
      Untrusted apps should only access /data/preloads/media and demo directory.
      
      Bug: 36197686
      Test: Verified retail mode.
            Checked non-privileged APK cannot access /data/preloads
      Change-Id: I8e9c21ff6aba799aa31bf06893cdf60dafc04446
      b238fe66
    • Xin Li's avatar
      Fix build under GitC client. · ec6f393d
      Xin Li authored
      Test: build
      Bug: 36229129
      Change-Id: I0654ce44f344729b0bb1f8716afa151e134fdc6a
      ec6f393d
  4. Mar 14, 2017
    • Nick Kralevich's avatar
      allow run-as to carry unix_stream_sockets · 3b97552f
      Nick Kralevich authored
      Allow run-as to transmit unix_stream_sockets from the shell user to
      Android apps. This is needed for Android Studio's profiling tool to
      allow communcation between apps and debugging tools which run as the
      shell user.
      
      Bug: 35672396
      Test: Functionality was tested by shukang
      Test: policy compiles.
      Change-Id: I2cc2e4cd5b9071cbc7d6f6b5b0b71595fecb455e
      3b97552f
    • Alex Klyubin's avatar
      Switch Sensors HAL policy to _client/_server · 41518bec
      Alex Klyubin authored
      This switches Sensors HAL policy to the design which enables us to
      conditionally remove unnecessary rules from domains which are clients
      of Sensors HAL.
      
      Domains which are clients of Sensors HAL, such as system_server, are
      granted rules targeting hal_sensors only when the Sensors HAL runs in
      passthrough mode (i.e., inside the client's process). When the HAL
      runs in binderized mode (i.e., in another process/domain, with clients
      talking to the HAL over HwBinder IPC), rules targeting hal_sensors are
      not granted to client domains.
      
      Domains which offer a binderized implementation of Sensors HAL, such
      as hal_sensors_default domain, are always granted rules targeting
      hal_sensors.
      
      P. S. This commit also removes
        allow system_server sensors_device:chr_file rw_file_perms
      because this is device-specific and thus not needed in device-agnostic
      policy. The device-specific policy of the affected devices already has
      this rule.
      
      Test: Device boots, no new denials
      Test: adb shell dumpsys sensorservice
            lists tons of sensors
      Test: Proprietary sensors test app indicates that there are sensors
            and that the app can register to listen for updates for sensors
            and that such updates arrive to the app.
      Bug: 34170079
      Change-Id: I61bf779070eabcb64ae73724d62b6e837319a668
      41518bec
    • Treehugger Robot's avatar
    • Jeff Vander Stoep's avatar
      Enforce separation of privilege for HAL driver access · 7fa59c81
      Jeff Vander Stoep authored
      Only audio HAL may access audio driver.
      Only camera HAL may access camera driver.
      
      Test: aosp_marlin and aosp_bullhead policy builds. Note: neverallow
            rules are compile time assertions and do not change the
            on-device policy.
      Bug: 36185625
      Change-Id: I1c9edf528080374f5f0d90d3c14d6c3b162484a3
      7fa59c81
    • Jeff Vander Stoep's avatar
      Restrict HAL network access to HALS that manage network hardware · f9be765d
      Jeff Vander Stoep authored
      Only HALs that manage networks need network capabilities and network
      sockets.
      
      Test: aosp_marlin and aosp_bullhead policy builds. Note: neverallow
            rules are compile time assertions and do not change the
            on-device policy.
      Bug: 36185625
      
      Change-Id: Id64846eac24cf72ed91ce775cecb2c75f11b78df
      f9be765d
  5. Mar 13, 2017
    • Alex Klyubin's avatar
      Correct location of property_contexts for TREBLE devices · 9d59041f
      Alex Klyubin authored
      This makes the build system, for TREBLE devices only, place
      plat_property_contexts under /system/etc/selinux and
      nonplat_property_contexts under /vendor/etc/selinux. For other devices
      these files are placed under /, same as before.
      
      This change was previously reverted because it affected the location
      of property_contexts in recovery. Now that we have separate tagets for
      recovery (see ec78c377), this change
      no longer affects is recovery.
      
      Test: *_property_contexts in correct locations when
            PRODUCT_FULL_TREBLE is set to true and when it is set to false.
      
      Test: cts-tradefed run singleCommand cts --skip-device-info \
            --skip-preconditions --skip-connectivity-check \
            --abi arm64-v8a --module CtsSecurityHostTestCases \
            -t android.security.cts.SELinuxHostTest#testAospPropertyContexts
      
            This test was performed on bullhead (non A/B device) and sailfish
            (A/B device).
      
      Test: Clean build, flash, device boots with no additional denials.
            Rebooting to recovery, recovery boots fine with no denials.
            This test was performed on bullhead (non A/B device) and sailfish
            (A/B device).
      Bug: 36002573
      
      (cherry picked from commit 4cb628a3)
      
      Change-Id: I0b145c58669fb31bc39d57f36eef1190425a8328
      9d59041f
    • Alex Klyubin's avatar
      Targets for artifacts needed by recovery · ec78c377
      Alex Klyubin authored
      This ensures that SELinux policy artifact needed by recovery at
      runtime have targets in this build script. This is to make
      recoveryimage/bootimage targets depend on these artifacts explicitly,
      which reduces the element of surprise. Moreover, this enables us to
      move non-recovery artifacts around without affecting recovery
      artifacts.
      
      Test: Clean build, flash, device boots just fine, no new denials.
            Reboot to recovery, recovery boots just fine, no denials.
            This was tested on bullhead (non A/B device) and sailfish (A/B
            device).
      Bug: 33642277
      Change-Id: I3c494d9d7fec5c4f487d38964e572757fcf67f57
      ec78c377
    • Josh Gao's avatar
      Allow writing to tombstone files in crash_dump_fallback. · a10008c7
      Josh Gao authored
      Allows the following denials:
           avc: denied { use } for pid=9099 comm="mediacodec" path="/data/tombstones/tombstone_08" dev="sda35" ino=877473 scontext=u:r:mediacodec:s0 tcontext=u:r:tombstoned:s0 tclass=fd permissive=1
           avc: denied { append } for pid=9099 comm="mediacodec" path="/data/tombstones/tombstone_08" dev="sda35" ino=877473 scontext=u:r:mediacodec:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=file permissive=1
      
      Bug: http://b/36156624
      Test: killall -ABRT media.codec
      Test: killall -ABRT media.extractor
      Change-Id: I3dde1879b44e3e63c747a3ff8dd4bf213cb8afb6
      a10008c7
  6. Mar 11, 2017
    • Jeff Vander Stoep's avatar
      Split mac_permissions.xml to /system and /vendor · bba9e7b9
      Jeff Vander Stoep authored
      Test: Build and boot Marlin
      Test: See the following in the logs:
      01-01 02:10:28.756  1345  1345 D SELinuxMMAC: Using policy file /system/etc/selinux/plat_mac_permissions.xml
      01-01 02:10:28.787  1345  1345 D SELinuxMMAC: Using policy file /vendor/etc/selinux/nonplat_mac_permissions.xml
      Bug: 36003167
      
      Change-Id: If17490a2a5d94bfea1fa6d282282d45d67e207e9
      bba9e7b9
  7. Mar 10, 2017
    • Jeff Vander Stoep's avatar
      Move split file_contexts to /system and /vendor · 0cb417a6
      Jeff Vander Stoep authored
      Build file_contexts.bin on legacy builds.
      Test: Marlin and Bullhead build and boot with no new denials.
      Test: Marlin and Bullhead recovery boots with no new denials.
      Test: Bullhead boots with file_contexts.bin in /
      Test: Marlin boot with /system/etc/selinux/plat_file_contexts and
            /vendor/etc/selinux/nonplat_file_contexts.
      Bug: 36002414
      
      Change-Id: Ide8498b3c86234d2f93bb22a7514d132c33067d6
      0cb417a6
    • Alex Klyubin's avatar
      Remove unnecessary recovery-related targets · 84aa7421
      Alex Klyubin authored
      Recovery should always use monolithic policy. Thus, we don't need
      split policy files *.recovery.cil. This commit removes these targets
      and rolls up the relevant parts of the targets into
      "sepolicy.recovery" which is the target which produces monolithic
      policy for recovery.
      
      Test: make clean && make sepolicy.recovery, then confirm that
            repolicy.recovery is identical to the one produced prior to this
            change.
      Test: Clean build, flash, device boots up fine, no new denials. Device
            also boots into recovery just fine, no denials.
      Bug: 31363362
      
      Change-Id: I7f698abe1f17308f2f03f5ed1b727a8b071e94c7
      84aa7421
    • Treehugger Robot's avatar
    • Alex Klyubin's avatar
      Revert "Correct location of property_contexts for TREBLE devices" · 935ddb20
      Alex Klyubin authored
      This reverts commit 4cb628a3.
      
      Reason for revert: recovery image on marlin & sailfish no longer
      contained *property_contexts and thus recovery failed to boot.
      
      Test: Clean build, flash, sailfish and bullhead boot up just fine,
            and boot into recovery just fine.
      Bug: 36002573
      Bug: 36108354
      Change-Id: I2dffd80764f1a464327747d35a58691b24cff7a7
      935ddb20
  8. Mar 09, 2017
  9. Mar 08, 2017
    • Alex Klyubin's avatar
      Correct location of property_contexts for TREBLE devices · 4cb628a3
      Alex Klyubin authored
      This makes the build system, for TREBLE devices only, place
      plat_property_contexts under /system/etc/selinux and
      nonplat_property_contexts under /vendor/etc/selinux. For other devices
      these files are placed under /, same as before.
      
      Test: *_property_contexts in correct locations when
            PRODUCT_FULL_TREBLE is set to true and when it is set to false.
      Bug: 36002573
      
      Change-Id: I7e30e64918bb3ee671fa8c7a2e30ed96a9cc1ad7
      4cb628a3
  10. Mar 07, 2017
    • Josh Gao's avatar
      Allow fallback crash dumping for seccomped processes. · 12b4750f
      Josh Gao authored
      Let mediacodec and mediaextractor talk directly to tombstoned to
      generate tombstones/ANR traces.
      
      Bug: http://b/35858739
      Test: debuggerd -b `pidof media.codec`
      Change-Id: I091be946d58907c5aa7a2fe23995597638adc896
      12b4750f
    • Alex Klyubin's avatar
      Precompiled kernel policy for on-device use · 193dccda
      Alex Klyubin authored
      This adds build targets for outputing precompiled kernel policy usable
      on devices with policy split between system and vendor partitions. On
      such devices, precompiled policy must reside on the vendor partition.
      
      Because such devices support updating these partitions independently
      of each other, the precompiled policy must reference the system
      partition's policy against which it was compiled. This enables init to
      establish whether the precompiled policy is valid for the current
      combination of system and vendor partitions.
      
      The referencing is performed by both the system and vendor partitions
      including the SHA-256 digest of the system partition's policy
      (plat_sepolicy.cil). Only the when the digest is the same on both
      partitions can the precompiled policy be used.
      
      Test: plat_sepolicy.cil.sha256 contains exactly the hex form of the
            SHA-256 digest of plat_sepolicy.cil
      Test: plat_sepolicy.cil.sha256 is identical
            precompiled_sepolicy.plat.sha256.
      Bug: 31363362
      Change-Id: I9771e1aa751e25bba6e2face37d68e0ae43b33a3
      193dccda
    • Jeff Vander Stoep's avatar
      assert plat neverallows on nonplat seapp_contexts · 87ae5f7d
      Jeff Vander Stoep authored
      With the plat/nonplat policy split, nonplat_seapp_contexts should still
      be checked against the plat_seapp_contexts_neverallows during build
      time to ensure no violations occur.
      
      Test: stock aosp_marlin builds.
      Test: name=foo.bar seinfo=default fails (as expected) in nonplat policy
      Test: name=foo.bar seinfo="" fails (as expected) in nonplat policy
      Bug: 36002816
      Change-Id: I95b2c695b23e2bdf420575d631e85391e93fc869
      87ae5f7d
    • Yabin Cui's avatar
      Make /proc/sys/kernel/perf_event_max_sample_rate accessible to untrusted_app. · 5b15baeb
      Yabin Cui authored
      perf_event_max_sample_rate is needed to be read for native profiling,
      otherwise CTS test can fail on devices with kernel >= 4.4. Before this CL,
      the file is not readable from untrusted_app domain. This CL makes it readable
      from both shell domain and untrusted_app domain.
      
      Bug: http://b/35554543
      Test: build and test on marlin.
      Change-Id: Id118e06e3c800b70a749ab112e07a4ec24bb5975
      5b15baeb
    • Calin Juravle's avatar
      SElinux: Clean up code related to foreign dex use · 2b291121
      Calin Juravle authored
      We simplified the way we track whether or not a dex file is used by
      other apps. DexManager in the framework keeps track of the data and we
      no longer need file markers on disk.
      
      Test: device boots, foreign dex markers are not created anymore
      
      Bug: 32871170
      Change-Id: I464ed6b09439cf0342020ee07596f9aa8ae53b62
      2b291121
    • Roshan Pius's avatar
    • Roshan Pius's avatar
      sepolicy: Make wpa_supplicant a HIDL service · a976e64d
      Roshan Pius authored
      Note: The existing rules allowing socket communication will be removed
      once we  migrate over to HIDL completely.
      
      (cherry-pick of 2a9595ed) 
      Bug: 34603782
      Test: Able to connect to wifi networks.
      Test: Will be sending for full wifi integration tests
      (go/wifi-test-request)
      Change-Id: I9ee238fd0017ec330f6eb67ef9049211f7bd4615
      a976e64d
  11. Mar 06, 2017
Loading