Skip to content
Snippets Groups Projects
  1. Apr 19, 2017
    • Jeff Hao's avatar
      Add dex2oat permissions to open and read the tmp apk. · 37f5c2d9
      Jeff Hao authored
      The PackageManager now passes previous code paths to dex2oat as shared
      libraries. dex2oat needs extra permissions in order to access and open
      the oat files of these libraries (if they were compiled).
      
      Part of a multi-project change.
      
      Bug: 34169257
      Test: cts-tradefed run singleCommand cts -d --module
      CtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests
      
      (cherry-picked from commit 1103f963)
      
      Change-Id: I3cf810ef5f4f4462f6082dc30d3a7b144dcce0d9
      37f5c2d9
  2. Apr 18, 2017
    • Carmen Jackson's avatar
      Add selinux rules for additional file contexts in userdebug · 25788df1
      Carmen Jackson authored
      These rules allow the additional tracepoints we need for running traceur
      in userdebug builds to be writeable.
      
      Bug: 37110010
      Test: I'm testing by running atrace -l and confirming that the
      tracepoints that I'm attempting to enable are available.
      
      Change-Id: Ia352100ed67819ae5acca2aad803fa392d8b80fd
      25788df1
    • Alex Klyubin's avatar
      surfaceflinger and apps are clients of Configstore HAL · 75ca4832
      Alex Klyubin authored
      This commit marks surfaceflinger and app domain (except isolated_app)
      as clients of Configstore HAL. This cleans up the policy and will make
      it easier to restrict access to HwBinder services later.
      
      Test: Play YouTube clip in YouTube app and YouTube web page in Chrome
      Test: Take an HDR+ photo, a normal photo, a video, and slow motion
            video in Google Camera app. Check that photos show up fine and
            that videos play back with sound.
      Test: Play movie using Google Play Movies
      Test: Google Maps app displays the Android's correct location
      Bug: 34454312
      Change-Id: I0f468a4289132f4eaacfb1d13ce4e61604c2a371
      75ca4832
  3. Apr 16, 2017
    • Martijn Coenen's avatar
      Allow mediadrmserver to call mediacodec. · ed1c3827
      Martijn Coenen authored
      Bug: 36604251
      Test: Netflix protected content, Play movies
      Change-Id: I5c2c542007abddbe56b933ff44d65bd376b6691e
      ed1c3827
    • Martijn Coenen's avatar
      Remove mediacodec from binder violators. · fc80f480
      Martijn Coenen authored
      The new binder_call() lines had to be added
      because this change removes mediacodec from
      binderservicedomain (on full-treble), hence
      domains that could previously reach mediacodec
      with binder_call(domain, binderservicedomain)
      now need explicit calls instead.
      
      Test: Youtube, Netflix, Maps, Chrome, Music
      Change-Id: I3325ce20d9304bc07659fd435554cbcbacbc9829
      fc80f480
  4. Apr 15, 2017
    • Martijn Coenen's avatar
      Allow mediacodec access to sync fences. · b4d701bf
      Martijn Coenen authored
      Test: WIP
      Change-Id: I678b0d0e9750b25628b86060574fd516d3749cdf
      b4d701bf
    • Sandeep Patil's avatar
      Add vendor_executes_system_violators attribute · b99676ee
      Sandeep Patil authored
      
      Temporary attribute (checked against in CTS) to point out vendor
      processes that run /system executables. These are currently only down to
      2-3 of them that are related to telephony on sailfish
      
      Bug: 36463595
      Test: Build succeeds for sailfish
      Test: ./cts-tradefed run cts -m CtsSecurityHostTestCases -t \
                android.security.cts.SELinuxHostTest#testNoExemptionsForVendorExecutingCore \
                --skip-device-info --skip-preconditions --skip-connectivity-check \
                --abi arm64-v8a
      
      Change-Id: I9eb40ad259aefba73869d6a1b40186d33fa475dd
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      b99676ee
    • Sandeep Patil's avatar
      add netutils_wrappers · c6d89024
      Sandeep Patil authored
      
      Bug: 36463595
      Test: Boot sailfish, make wifi call, internet over data and wifi
      
      Change-Id: I81259b6412d7197725afe2fe4976aa0a03b8df6e
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      c6d89024
  5. Apr 14, 2017
  6. Apr 13, 2017
    • Sandeep Patil's avatar
      toolbox: add sepolicy for vendor toybox · 4fe441fb
      Sandeep Patil authored
      
      The vendor toybox MUST always be executed without transition and
      non-vendor processes are not allowed to execute the binary.
      
      Bug: 36463595
      Test: Boot and test if system shell can run /vendor/bin/echo
            Result: requires 'su'
      
      Change-Id: Ifb9aa61f247f91fb870b99d60ac7f849ee9c6adc
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      (cherry picked from commit c112cd18e8999c0242a2560219033231a0e19898)
      4fe441fb
    • Alex Klyubin's avatar
      Unbreak user builds · d9745f3d
      Alex Klyubin authored
      This unbreaks user builds broken by recently landed changes to secilc
      which is now aggressively removing attributes which aren't used in
      allow rules, even when they are used in other places, such as being
      referenced from *_contexts files.
      
      User builds are broken by vndservice_manager_type not being found when
      checkfc is run for *vndservice_contexts targets.
      
      Test: On a clean user build: mmma system/sepolicy
      Bug: 37319524
      Bug: 36508258
      Change-Id: I4a1727a74122ecd9020c3831462d56a65ee6d304
      d9745f3d
    • Alex Klyubin's avatar
      Unbreak build · 4641f672
      Alex Klyubin authored
      ag/2106481 negatively interfered with ag/2106263...
      
      Test: mmm system/sepolicy
      Bug: 34454312
      Change-Id: If3f5ef6696341ccfdd706350ec670f8426dac9c9
      4641f672
    • Martijn Coenen's avatar
      Add temporary allow rule for hwservice_manager_type · 20716c7e
      Martijn Coenen authored
      So it won't get compiled out of sepolicy.
      
      Test: marlin build
      Change-Id: I3a089fe83df69a76bebf64f874556967bc49ee78
      20716c7e
    • Alex Klyubin's avatar
      Policy for Camera HAL HwBinder service · ab2c681f
      Alex Klyubin authored
      This adds restrictions on which domains can register this HwBinder
      service with hwservicemanager and which domains can obtain tokens for
      this service from hwservicemanager.
      
      Test: Use Google Camera app to take HDR+ photo, conventional photo,
            record video with sound, record slow motion video with sound.
            Check that the photos display correctly and that videos play
            back fine and with sound. Check that there are no SELinux
            denials to do with camera.
      Bug: 34454312
      Change-Id: Icfaeed917423510d9f97d18b013775596883ff64
      ab2c681f
    • Martijn Coenen's avatar
      Add hwservice_contexts and support for querying it. · 3ea47b92
      Martijn Coenen authored
      hwservicemanager can check hwservice_contexts files
      both from the framework and vendor partitions.
      
      Initially, have a wildcard '*' in hwservice_contexts
      that maps to a label that can be added/found from
      domain. This needs to be removed when the proper policy
      is in place.
      
      Also, grant su/shell access to hwservicemanager list
      operations, so tools like 'lshal' continue to work.
      
      Bug: 34454312
      Test: Marlin boots
      Change-Id: I3a02d97a82458692b528d85c1b8e78b6f82ea1bc
      3ea47b92
  7. Apr 12, 2017
    • Alex Klyubin's avatar
      Treble devices use binderized HALs · 22157e7a
      Alex Klyubin authored
      All HALs which are represented by hal_* attributes in SELinux policy
      are required to run in binderized mode on Treble devices. This commit
      thus makes the SELinux policy for Treble devices no longer associate
      domains in hal_x_client with hal_x attribute, which is what was
      granting domains hosting clients of hal_x the rules needed to run this
      HAL in-process. The result is that core components have now less
      access.
      
      This commit has no effect on non-Treble devices.
      
      Test: Device boots -- no new denials
      Test: Play movie using Google Play Movies and Netflix
      Test: Play YouTube clip in YouTube app and in Chrome
      Test: Unlock lock screen using fingerprint
      Test: Using Google Camera, take a photo, an HDR+ photo, record a
            video with sound, a slow motion video with sound. Photos and
            videos display/play back fine (incl. sound).
      Test: adb screencap
      Test: $ monitor
            take screenshot
      Test: In all tests, no deials to do with hal_*, except pre-existing
            denials to do with hal_gnss.
      Bug: 37160141
      Bug: 34274385
      Bug: 34170079
      Change-Id: I1ca91d43592b466114af13898f5909f41e59b521
      22157e7a
    • Andreas Gampe's avatar
      sepolicy: Allow postinstall_dexopt /vendor/app access · e843044c
      Andreas Gampe authored
      Follow-up to commit 1b5f81a2.
      
      Bug: 36681210
      Bug: 37158297
      Test: lunch sailfish-userdebug && m
      Test: Manually run OTA
      Change-Id: Ifb4808c9255842a51a660c07ffd924cef52024c5
      e843044c
  8. Apr 11, 2017
    • Sandeep Patil's avatar
      sepolicy: make exec_types in /vendor a subset of vendor_file_type · 2ee66e7d
      Sandeep Patil authored
      
      We install all default hal implementations in /vendor/bin/hw along with
      a few domains that are defined in vendor policy and installed in
      /vendor. These files MUST be a subset of the global 'vendor_file_type'
      which is used to address *all files installed in /vendor* throughout the
      policy.
      
      Bug: 36463595
      Test: Boot sailfish without any new denials
      
      Change-Id: I3d26778f9a26f9095f49d8ecc12f2ec9d2f4cb41
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      2ee66e7d
    • Jaesoo Lee's avatar
      allow to load kernel modules from vendor partition · a6ac1147
      Jaesoo Lee authored
      The kernel  modules under /vendor partition has been relabeled to vendor_file.
      This CL allows for the modprobe to load modules labeled vendor_file.
      
      Kernel modules are loaded in init.rc with following commands:
          exec u:r:modprobe:s0 -- /system/bin/modprobe -d /vendor/lib/modules MODULE
      
      Bug: 35653245
      Test: tested on sailfish
      Change-Id: I2132ca4de01c5c60476dad8496e98266de5a1bb7
      a6ac1147
  9. Apr 10, 2017
    • Alex Klyubin's avatar
      Apostrophe not permitted in macro parameters · d84f20b2
      Alex Klyubin authored
      Test: mmm system/sepolicy -- no warnings
      Bug: 3716915
      Change-Id: I76886c2d09a70cbe6dc707dd0599217407bb63f7
      d84f20b2
    • Sandeep Patil's avatar
      sepolicy: Fix renderscript driver lookup · 3af3a13b
      Sandeep Patil authored
      
      Renderscript drivers are loaded from /vendor/lib64 by following the
      /system/vendor symlink. This change fixes a couple of things.
      - Allows all domains access to follow the symlink
      - Restores app domain permissions for /vendor for non-treble devices
      - Allow app domains to peek into /vendor/lib64, but NOT grant 'execute'
        permissions for everything. Since RS drivers can be loaded into any
        process, their vendor implementation and dependencies have been
        marked as 'same process HALs' already.
      
      Bug: 37169158
      Test: Tested on sailfish (Treble) & Angler (non-treble)
            ./cts-tradefed run cts -m CtsRenderscriptTestCases \
            --skip-device-info --skip-preconditions --skip-connectivity-check \
            --abi arm64-v8a
            Result: Tests Passed: 743 Tests Failed: 0
      
      Change-Id: I36f5523381428629126fc196f615063fc7a50b8e
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      3af3a13b
    • Howard Chen's avatar
      SELinux changes for Treble Loadable Kernel Module · f6931130
      Howard Chen authored
      This change extends the recovery mode modprobe sepolicy
      to support loadable kernel module in normal mode by using
      statement below in init.rc:
      
      exec u:r:modprobe:s0 -- /system/bin/modprobe \
          -d /vendor/lib/modules mod
      
      Bug: b/35653245
      Test: sailfish  with local built kernel and LKM enabled
      Change-Id: I827e2ce387c899db3e0e179da92e79c75d61f5ae
      (cherry picked from commit b638d949)
      f6931130
    • Jiyong Park's avatar
      Rename vndk-stable to vndk-sp (SP=Same-process) · ba23c8fa
      Jiyong Park authored
      The concept of VNDK-stable set is gone because they no longer need to be
      stable across several Android releases. Instead, they are just small set
      of system libraries (other than Low-Level NDK) that can be used by
      same-process HALs. They need to be stable only during an Android release
      as other VNDK libraries. However, since they are eligible for double
      loading, we still need to distinguish those libs from other VNDK
      libraries. So we give them a name vndk-sp, which means VNDK designed for
      same-process HALs.
      
      Bug: 37139956
      Test: booting successful with vndk-sp libs in /vendor/lib(64)?/vndk-sp
      Change-Id: I892c4514deb3c6c8006e3659bed1ad3363420732
      ba23c8fa
  10. Apr 08, 2017
  11. Apr 07, 2017
    • Alex Klyubin's avatar
      Preserve treble-only flag for CTS neverallows · 446279a6
      Alex Klyubin authored
      CTS includes general_sepolicy.conf built from this project. CTS then
      tests this file's neverallow rules against the policy of the device
      under test. Prior to this commit, neverallow rules which must be
      enforced only for Treble devices we not included into
      general_sepolicy.conf. As a result, these rules were not enforced for
      Treble devices.
      
      This commit fixes the issue as follows. Because CTS includes only one
      policy, the policy now contains also the rules which are only for
      Treble devices. To enable CTS to distinguish rules needed for all
      devices from rules needed only on Treble devices, the latter rules are
      contained in sections delimited with BEGIN_TREBLE_ONLY and
      END_TREBLE_ONLY comments.
      
      This commit also removes the unnecessary sepolicy.general target. This
      target is not used anywhere and is causing trouble because it is
      verifying neverallows of the policy meant to be used by CTS. This
      policy can no longer be verified with checkpolicy without
      conditionally including or excluding Treble-only neverallows.
      
      Test: mmm system/sepolicy
      Test: Device boots -- no new denials
      Bug: 37082262
      Change-Id: I15172a7efd9374543ba521e17aead1bdda7451bf
      446279a6
    • Tianjie Xu's avatar
      Allow recovery to read thermal info · 15bf1b52
      Tianjie Xu authored
      We want to track temperature metrics during an OTA update.
      
      denial message:
      denied  { search } for  pid=349 comm="recovery" name="thermal"
      dev="sysfs" ino=18029 scontext=u:r:recovery:s0
      tcontext=u:object_r:sysfs_thermal:s0 tclass=dir permissive=0
      
      denied  { read } for  pid=326 comm="recovery" name="temp"
      dev="sysfs" ino=18479 scontext=u:r:recovery:s0
      tcontext=u:object_r:sysfs_thermal:s0 tclass=file permissive=0
      
      Bug: 36920500
      Bug: 32518487
      Test: temperature logs on angler
      Change-Id: Ib70c1c7b4e05f91a6360ff134a11c80537d6015e
      (cherry picked from commit 3da2f21f)
      15bf1b52
    • Jiyong Park's avatar
      sepolicy: allow access to vndk-stable libs · a4768fa8
      Jiyong Park authored
      Vndk-stable libs are system libs that are used by same process HALs.
      Since same process HALs can be loaded to any process, so are vndk-stable
      libs.
      
      Bug: 37138502
      Test: none, because the directory is currently empty and thus this is
      no-op. sailfish builds and boots.
      
      Change-Id: I67a2c8c2e4c3517aa30b4a97dc80dc2800e47b5a
      a4768fa8
    • Donghyun Cho's avatar
      Add sepolicy for tv.cec · f81dd0c5
      Donghyun Cho authored
      Bug: 36562029
      Test: m -j40 and CEC functionality works well
      Change-Id: I5a693e65abdd5139a848d939149a475056cc41e8
      f81dd0c5
    • Martijn Coenen's avatar
      Allow 'su' domain access to vndbinder. · cf741dd7
      Martijn Coenen authored
      For example, for listing vndbinder services
      using 'adb shell service -v list'
      
      Test: adb shell service -v list
      Bug: 36987120
      Change-Id: Ibf3050710720ae4c920bc4807c9a90ba43717f3b
      cf741dd7
  12. Apr 06, 2017
Loading