Skip to content
Snippets Groups Projects
  1. Aug 24, 2017
  2. Jul 20, 2017
    • Josh Gao's avatar
      crash_dump_fallback: allow writing to system_server pipes. · fde0e02a
      Josh Gao authored
      Allow mediacodec/mediaextractor to write to system_server pipes during
      ANR dumps.
      
      Addresses the following denials:
      avc: denied { write } for comm="mediaextractor" path="pipe:[1177610]" dev="pipefs" ino=1177610 scontext=u:r:mediaextractor:s0 tcontext=u:r:system_server:s0 tclass=fifo_file permissive=0
      avc: denied { write } for comm="omx@1.0-service" path="pipe:[1175808]" dev="pipefs" ino=1175808 scontext=u:r:mediacodec:s0 tcontext=u:r:system_server:s0 tclass=fifo_file permissive=0
      
      Bug: http://b/63801592
      Test: treehugger
      Change-Id: I944b1fa76c70402607ccd903be17dbddeaa73201
      (cherry picked from commit 3c9b9197)
      fde0e02a
  3. Jul 10, 2017
    • Stephen Smalley's avatar
      sepolicy: Define and allow map permission · 4397f082
      Stephen Smalley authored
      
      Kernel commit 3ba4bf5f1e2c ("selinux: add a map permission check for mmap")
      added a map permission check on mmap so that we can
      distinguish memory mapped access (since it has different implications
      for revocation).  The purpose of a separate map permission check on
      mmap(2) is to permit policy to prohibit memory mapping of specific files
      for which we need to ensure that every access is revalidated, particularly
      useful for scenarios where we expect the file to be relabeled at runtime
      in order to reflect state changes (e.g. cross-domain solution, assured
      pipeline without data copying).  The kernel commit is anticipated to
      be included in Linux 4.13.
      
      This change defines map permission for the Android policy.  It mirrors
      the definition in the kernel classmap by adding it to the common
      definitions for files and sockets.  This will break compatibility for
      kernels that predate the dynamic class/perm mapping support (< 2.6.33);
      on such kernels, one would instead need to add map permission
      to the end of each file and socket access vector.
      
      This change also adds map permission to the global macro definitions for
      file permissions, thereby allowing it in any allow rule that uses these
      macros, and to specific rules allowing mapping of files from /system
      and executable types. This should cover most cases where it is needed,
      although it may still need to be added to specific allow rules when the
      global macros are not used.
      
      Test: Policy builds
      
      Change-Id: Iab3ccd2b6587618e68ecab58218838749fe5e7f5
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      4397f082
  4. Jul 05, 2017
    • Jeff Vander Stoep's avatar
      Preserve attributes needed for CTS · 5f5aa962
      Jeff Vander Stoep authored
      Change fb889f23 "Force expand all hal_* attributes" annotated all
      hal_* attributes to be expanded to their associated types. However
      some of these attributes are used in CTS for neverallow checking.
      Mark these attributes to be preserved.
      
      In addition, remove the hacky workaround introduced in oc-dev
      for b/62658302 where extraneous neverallow rules were introduced
      to prevent unused or negated attributes from being auto-expanded
      from policy.
      
      Bug: 62658302
      Bug: 63135903
      Test: cts-tradefed run cts -m CtsSecurityHostTestCases -t \
          android.cts.security.SELinuxNeverallowRulesTest
      
          armeabi-v7a CtsSecurityHostTestCases completed in 4s.
          501 passed, 0 failed, 0 not executed
      Merged-In: I989def70a16f66e7a18bef1191510793fbe9cb8c
      Change-Id: I989def70a16f66e7a18bef1191510793fbe9cb8c
      5f5aa962
    • Jeff Vander Stoep's avatar
      Preserve attributes needed for CTS · bf8ed096
      Jeff Vander Stoep authored
      Change fb889f23 "Force expand all hal_* attributes" annotated all
      hal_* attributes to be expanded to their associated types. However
      some of these attributes are used in CTS for neverallow checking.
      Mark these attributes to be preserved.
      
      In addition, remove the hacky workaround introduced in oc-dev
      for b/62658302 where extraneous neverallow rules were introduced
      to prevent unused or negated attributes from being auto-expanded
      from policy.
      
      Bug: 62658302
      Bug: 63135903
      Test: cts-tradefed run cts -m CtsSecurityHostTestCases -t \
          android.cts.security.SELinuxNeverallowRulesTest
      
          armeabi-v7a CtsSecurityHostTestCases completed in 4s.
          501 passed, 0 failed, 0 not executed
      Change-Id: I989def70a16f66e7a18bef1191510793fbe9cb8c
      bf8ed096
  5. Jun 26, 2017
    • Jeff Vander Stoep's avatar
      Suppress su access to pdx sockets · 4b7cf4fb
      Jeff Vander Stoep authored
      Su runs in permissive mode and denials should be suppressed.
      
      avc: denied { getattr } for scontext=u:r:su:s0
      tcontext=u:object_r:pdx_display_client_endpoint_socket:s0
      tclass=unix_stream_socket permissive=1
      avc: denied { getattr } for scontext=u:r:su:s0
      tcontext=u:object_r:pdx_display_manager_endpoint_socket:s0
      tclass=unix_stream_socket permissive=1
      avc: denied { getattr } for scontext=u:r:su:s0
      tcontext=u:object_r:pdx_display_vsync_endpoint_socket:s0
      tclass=unix_stream_socket permissive=1
      avc: denied { getattr } for scontext=u:r:su:s0
      tcontext=u:object_r:pdx_bufferhub_client_endpoint_socket:s0
      tclass=unix_stream_socket permissive=1
      avc: denied { getattr } for scontext=u:r:su:s0
      tcontext=u:object_r:pdx_performance_client_endpoint_socket:s0
      tclass=unix_stream_socket permissive=1
      
      Bug: 35197529
      Test: policy builds
      Change-Id: Ia643c6e776e5e5bd473d857d523c3be91d32c40a
      4b7cf4fb
  6. Jun 16, 2017
    • Dan Cashman's avatar
      Add extraneous neverallow rule to enforce attribute inclusion. · 939b50ff
      Dan Cashman authored
      Due to the massively increased number of attributes in SELinux policy
      as part of the treble changes, we have had to remove attributes from
      policy for performance reasons.  Unfortunately, some attributes are
      required to be in policy to ensure that our neverallow rules are being
      properly enforced.  Usually this is not a problem, since neverallow rules
      indicate that an attribute should be kept, but this is not currently the
      case when the attribute is part of a negation in a group.
      
      This is particularly problematic with treble since some attributes may
      exist for HALs that have no implementation, and thus no types.  In
      particular, this has caused an issue with the neverallows added in our
      macros.  Add an extraneous neverallow rule to each of those auto-generated
      neverallow rules to make sure that they are not removed from policy, until
      the policy compiler is fixed to avoid this.  Also add corresponding rules
      for other types which have been removed due to no corresponding rules.
      
      Bug: 62591065
      Bug: 62658302
      Test: Attributes present in policy and CTS passes.  sepolicy-analyze also
      works on platform-only policy.
      Change-Id: Ic3fc034cdbd04a94167f8240cf562297e8d7c762
      939b50ff
  7. Jun 06, 2017
  8. Jun 05, 2017
  9. Jun 02, 2017
  10. May 24, 2017
    • Josh Gao's avatar
      Let fallback crash dumping write to dumpstate pipes. · 8ba3138a
      Josh Gao authored
      Fix the following denial:
          avc: denied { append } for pid=1093 comm="mediaextractor" path="pipe:[68438]" dev="pipefs" ino=68438 scontext=u:r:mediaextractor:s0 tcontext=u:r:dumpstate:s0 tclass=fifo_file permissive=1 ppid=1 pcomm="init" pgid=1 pgcomm="init"
      
      Bug: http://b/38444258
      Test: none
      Change-Id: I58162e3a28b744a58396e77d6b0e2becb5633d6a
      (cherry picked from commit 5efadd91)
      8ba3138a
    • Josh Gao's avatar
      Let fallback crash dumping write to dumpstate pipes. · 5efadd91
      Josh Gao authored
      Fix the following denial:
          avc: denied { append } for pid=1093 comm="mediaextractor" path="pipe:[68438]" dev="pipefs" ino=68438 scontext=u:r:mediaextractor:s0 tcontext=u:r:dumpstate:s0 tclass=fifo_file permissive=1 ppid=1 pcomm="init" pgid=1 pgcomm="init"
      
      Bug: http://b/38444258
      Test: none
      Change-Id: I58162e3a28b744a58396e77d6b0e2becb5633d6a
      5efadd91
  11. May 15, 2017
    • Alex Vakulenko's avatar
      SELinux policies for PDX services · c4055f0d
      Alex Vakulenko authored
      Specify per-service rules for PDX transport. Now being able to
      grant permissions to individual services provided by processes,
      not all services of a process.
      
      Also tighter control over which permissions are required for
      client and server for individual components of IPC (endpoints,
      channels, etc).
      
      Bug: 37646189
      Change-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
      Merged-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
      c4055f0d
  12. May 10, 2017
    • Alex Vakulenko's avatar
      SELinux policies for PDX services · 41daa7f8
      Alex Vakulenko authored
      Specify per-service rules for PDX transport. Now being able to
      grant permissions to individual services provided by processes,
      not all services of a process.
      
      Also tighter control over which permissions are required for
      client and server for individual components of IPC (endpoints,
      channels, etc).
      
      Bug: 37646189
      Change-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
      41daa7f8
  13. May 04, 2017
    • Dimitry Ivanov's avatar
      Allow getattr on tempfs files · bf030965
      Dimitry Ivanov authored
      This is needed by linker to be able to load libraries from memfd
      which currently generated following denial:
      avc: denied { getattr } for path=2F6D656D66643A666F6F626172202864656C6574656429 dev="tmpfs" ino=902079 scontext=u:r:shell:s0 tcontext=u:object_r:shell_tmpfs:s0 tclass=file permissive=0
      
      Bug: http://b/37245203
      Bug: http://b/37916741
      Test: builds
      Change-Id: I5b57b6cada50a62657c8daaaaaa56f1ee9cdb376
      (cherry picked from commit a0d3ff8e)
    • Dimitry Ivanov's avatar
      Allow getattr on tempfs files · a0d3ff8e
      Dimitry Ivanov authored
      This is needed by linker to be able to load libraries from memfd
      which currently generated following denial:
      avc: denied { getattr } for path=2F6D656D66643A666F6F626172202864656C6574656429 dev="tmpfs" ino=902079 scontext=u:r:shell:s0 tcontext=u:object_r:shell_tmpfs:s0 tclass=file permissive=0
      
      Bug: http://b/37245203
      Bug: http://b/37916741
      Test: builds
      Change-Id: I5b57b6cada50a62657c8daaaaaa56f1ee9cdb376
      a0d3ff8e
  14. Apr 21, 2017
    • Alex Klyubin's avatar
      Restrict access to hwservicemanager · 53656c17
      Alex Klyubin authored
      This adds fine-grained policy about who can register and find which
      HwBinder services in hwservicemanager.
      
      Test: Play movie in Netflix and Google Play Movies
      Test: Play video in YouTube app and YouTube web page
      Test: In Google Camera app, take photo (HDR+ and conventional),
            record video (slow motion and normal), and check that photos
            look fine and videos play back with sound.
      Test: Cast screen to a Google Cast device
      Test: Get location fix in Google Maps
      Test: Make and receive a phone call, check that sound works both ways
            and that disconnecting the call frome either end works fine.
      Test: Run RsHelloCompute RenderScript demo app
      Test: Run fast subset of media CTS tests:
            make and install CtsMediaTestCases.apk
            adb shell am instrument -e size small \
                -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
      Test: Play music using Google Play music
      Test: Adjust screen brightness via the slider in Quick Settings
      Test: adb bugreport
      Test: Enroll in fingerprint screen unlock, unlock screen using
            fingerprint
      Test: Apply OTA update:
            Make some visible change, e.g., rename Settings app.
            make otatools && \
            make dist
            Ensure device has network connectivity
            ota_call.py -s <serial here> --file out/dist/sailfish-ota-*.zip
            Confirm the change is now live on the device
      Bug: 34454312
      (cherry picked from commit 632bc494)
      Merged-In: Iecf74000e6c68f01299667486f3c767912c076d3
      Change-Id: I7a9a487beaf6f30c52ce08e04d415624da49dd31
      53656c17
  15. Apr 20, 2017
    • Alex Klyubin's avatar
      Restrict access to hwservicemanager · 632bc494
      Alex Klyubin authored
      This adds fine-grained policy about who can register and find which
      HwBinder services in hwservicemanager.
      
      Test: Play movie in Netflix and Google Play Movies
      Test: Play video in YouTube app and YouTube web page
      Test: In Google Camera app, take photo (HDR+ and conventional),
            record video (slow motion and normal), and check that photos
            look fine and videos play back with sound.
      Test: Cast screen to a Google Cast device
      Test: Get location fix in Google Maps
      Test: Make and receive a phone call, check that sound works both ways
            and that disconnecting the call frome either end works fine.
      Test: Run RsHelloCompute RenderScript demo app
      Test: Run fast subset of media CTS tests:
            make and install CtsMediaTestCases.apk
            adb shell am instrument -e size small \
                -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
      Test: Play music using Google Play music
      Test: Adjust screen brightness via the slider in Quick Settings
      Test: adb bugreport
      Test: Enroll in fingerprint screen unlock, unlock screen using
            fingerprint
      Test: Apply OTA update:
            Make some visible change, e.g., rename Settings app.
            make otatools && \
            make dist
            Ensure device has network connectivity
            ota_call.py -s <serial here> --file out/dist/sailfish-ota-*.zip
            Confirm the change is now live on the device
      Bug: 34454312
      Change-Id: Iecf74000e6c68f01299667486f3c767912c076d3
      632bc494
  16. Apr 13, 2017
    • 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
    • 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
  17. 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
  18. 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
  19. Apr 05, 2017
    • Sandeep Patil's avatar
      sepolicy: relabel /vendor · 277a20eb
      Sandeep Patil authored
      
      The CL splits /vendor labeling from /system. Which was allowing all
      processes read, execute access to /vendor.
      
      Following directories will remain world readable
       /vendor/etc
       /vendor/lib(64)/hw/
      
      Following are currently world readable but their scope
      will be minimized to platform processes that require access
       /vendor/app
       /vendor/framework/
       /vendor/overlay
      
      Files labelled with 'same_process_hal_file' are allowed to be
      read + executed from by the world. This is for Same process HALs and
      their dependencies.
      
      Bug: 36527360
      Bug: 36832490
      Bug: 36681210
      Bug: 36680116
      Bug: 36690845
      Bug: 36697328
      Bug: 36696623
      Bug: 36806861
      Bug: 36656392
      Bug: 36696623
      Bug: 36792803
      
      All of the tests were done on sailfish, angler, bullhead, dragon
      Test: Boot and connect to wifi
      Test: Run chrome and load websites, play video in youtube, load maps w/
            current location, take pictures and record video in camera,
            playback recorded video.
      Test: Connect to BT headset and ensure BT audio playback works.
      Test: OTA sideload using recovery
      Test: CTS SELinuxHostTest pass
      
      Change-Id: I278435b72f7551a28f3c229f720ca608b77a7029
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      277a20eb
  20. Apr 04, 2017
  21. Mar 24, 2017
    • Alex Klyubin's avatar
      Mark all clients of Allocator HAL · 7cda44f4
      Alex Klyubin authored
      This change associates all domains which are clients of Allocator HAL
      with hal_allocator_client and the, required for all HAL client
      domains, halclientdomain.
      
      This enables this commit to remove the now unnecessary hwallocator_use
      macro because its binder_call(..., hal_allocator_server) is covered by
      binder_call(hal_allocator_client, hal_allocator_server) added in this
      commit.
      
      Unfortunately apps, except isolated app, are clients of Allocator HAL
      as well. This makes it hard to use the hal_client_domain(...,
      hal_allocator) macro because it translates into "typeattribute" which
      currently does not support being provided with a set of types, such as
      { appdomain -isolated_app }. As a workaround, hopefully until
      typeattribute is improved, this commit expresses the necessary
      association operation in CIL. private/technical_debt.cil introduced by
      this commit is appended into the platform policy CIL file, thus
      ensuring that the hack has effect on the final monolithic policy.
      
      P. S. This change also removes Allocator HAL access from isolated_app.
      Isolated app shouldn't have access to this HAL anyway.
      
      Test: Google Play Music plays back radios
      Test: Google Camera records video with sound and that video is then
            successfully played back with sound
      Test: YouTube app plays back clips with sound
      Test: YouTube in Chrome plays back clips with sound
      Bug: 34170079
      Change-Id: Id00bba6fde83e7cf04fb58bc1c353c2f66333f92
      7cda44f4
    • Alex Klyubin's avatar
      Vendor domains must not use Binder · f5446eb1
      Alex Klyubin authored
      On PRODUCT_FULL_TREBLE devices, non-vendor domains (except vendor
      apps) are not permitted to use Binder. This commit thus:
      * groups non-vendor domains using the new "coredomain" attribute,
      * adds neverallow rules restricting Binder use to coredomain and
        appdomain only, and
      * temporarily exempts the domains which are currently violating this
        rule from this restriction. These domains are grouped using the new
        "binder_in_vendor_violators" attribute. The attribute is needed
        because the types corresponding to violators are not exposed to the
        public policy where the neverallow rules are.
      
      Test: mmm system/sepolicy
      Test: Device boots, no new denials
      Test: In Chrome, navigate to ip6.me, play a YouTube video
      Test: YouTube: play a video
      Test: Netflix: play a movie
      Test: Google Camera: take a photo, take an HDR+ photo, record video with
            sound, record slow motion video with sound. Confirm videos play
            back fine and with sound.
      Bug: 35870313
      Change-Id: I0cd1a80b60bcbde358ce0f7a47b90f4435a45c95
      f5446eb1
  22. Mar 23, 2017
    • Martijn Coenen's avatar
      Initial sepolicy for vndservicemanager. · e7d8f4c3
      Martijn Coenen authored
      vndservicemanager is the context manager for binder services
      that are solely registered and accessed from vendor processes.
      
      Bug: 36052864
      Test: vendorservicemanager runs
      Merged-In: Ifbf536932678d0ff13d019635fe6347e185ef387
      Change-Id: I430f1762eb83825f6cd4be939a69d46a8ddc80ff
      e7d8f4c3
  23. Mar 22, 2017
    • Jeff Vander Stoep's avatar
      Grant additional permissions for ASAN builds · 74434848
      Jeff Vander Stoep authored
      ASAN builds may require additional permissions to launch processes
      with ASAN wrappers. In this case, system_server needs permission to
      execute /system/bin/sh.
      
      Create with_asan() macro which can be used exclusively on debug
      builds. Note this means that ASAN builds with these additional
      permission will not pass the security portion of CTS - like any
      other debug build.
      
      Addresses:
      avc: denied { execute } for name="sh" dev="dm-0" ino=571
      scontext=u:r:system_server:s0 tcontext=u:object_r:shell_exec:s0
      tclass=file
      
      Test: lunch aosp_marlin-userdebug;
            cd system/sepolicy; mm SANITIZE_TARGET=address;
            Verify permissions granted using with_asan() are granted.
      Test: lunch aosp_marlin-userdebug;
            cd system/sepolicy; mm;
            Verify permissions granted using with_asan() are not granted.
      Test: lunch aosp_marlin-user;
            cd system/sepolicy; mm SANITIZE_TARGET=address;
            Verify permissions granted using with_asan() are not granted.
      Bug: 36138508
      Change-Id: I6e39ada4bacd71687a593023f16b45bc16cd7ef8
      74434848
    • Martijn Coenen's avatar
      Initial sepolicy for vndservicemanager. · cba70be7
      Martijn Coenen authored
      vndservicemanager is the context manager for binder services
      that are solely registered and accessed from vendor processes.
      
      Bug: 36052864
      Test: vendorservicemanager runs
      Change-Id: Ifbf536932678d0ff13d019635fe6347e185ef387
      cba70be7
  24. Mar 21, 2017
    • Alex Klyubin's avatar
      Remove unused hal_impl_domain macro · cb839c64
      Alex Klyubin authored
      All previous users of this macro have been switched to
      hal_server_domain macro.
      
      Test: no hal_impl_domain in system/sepolicy/ and device/**/sepolicy
      Test: mmm system/sepolicy
      Bug: 34170079
      Change-Id: I4a71b3fd5046c0d215b056f1cae25fe6bda0fb45
      cb839c64
  25. Mar 20, 2017
    • Alex Klyubin's avatar
      Switch Allocator HAL policy to _client/_server · 08d6f566
      Alex Klyubin authored
      This switches Allocator HAL policy to the design which enables us to
      identify all SELinux domains which host HALs and all domains which are
      clients of HALs.
      
      Allocator HAL is special in the sense that it's assumed to be always
      binderized. As a result, rules in Camera HAL target hal_allocator_server
      rather than hal_allocator (which would be the server and any client, if
      the Allocator HAL runs in passthrough mode).
      
      Test: Device boots up, no new denials
      Test: YouTube video plays back
      Test: Take photo using Google Camera app, recover a video, record a slow
            motion video
      Bug: 34170079
      Change-Id: Ifbbca554ec221712361ee6cda94c82f254d84936
      08d6f566
    • Alex Klyubin's avatar
      Recovery can use HALs only in passthrough mode · 00a03d42
      Alex Klyubin authored
      This adjusts the grants for recovery to make it explicit that recovery
      can use the Boot Control HAL only in passthrough mode.
      
      Test: Device boots up, no new denials
      Test: Reboot into recovery, sideload OTA update succeeds
      Test: Apply OTA update via update_engine:
            1. make dist
            2. Ensure device has network connectivity
            3. ota_call.py -s <serial here> out/dist/sailfish-ota-*.zip
      Bug: 34170079
      
      Change-Id: I0888816eca4d77939a55a7816e6cae9176713ee5
      00a03d42
  26. Mar 13, 2017
    • 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
  27. Mar 07, 2017
  28. Mar 01, 2017
  29. Feb 28, 2017
  30. Feb 21, 2017
    • Alex Klyubin's avatar
      Remove hal_impl_domain deprecation warning · 205ec044
      Alex Klyubin authored
      This removes the compile-time deprecation warning about
      hal_impl_domain macro. The warning was introduced in
      86e87806f5777a7fc09ea962e694442297e4f8d6. We don't want to spam all
      Android platform developers about something internal to the ongoing
      SELinux policy restructuring.
      
      Test: Policy compiles without any warnings
      Test: Google Play Movies plays back movies (i.e., DRM HAL works)
      Bug: 34170079
      Change-Id: Icbd4d1283196f7ccc84c2a041c5601113d3c9f21
      205ec044
Loading