Skip to content
Snippets Groups Projects
  1. 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
  2. Jun 14, 2017
    • Carmen Jackson's avatar
      Add debug selinux permission to write saved_cmdlines_size. · e9381d5e
      Carmen Jackson authored
      Now that we're expected to use this when taking traces, we need to add
      this permission so that Traceur can also access this file.
      
      Test: Used Traceur and saw the traces appear in the bugreports
      directory, as expected.
      Bug: 62493544
      
      Change-Id: Ib4304176abbb51e2e3b45c566ff14574e1cfaa82
      Merged-In: I464b0df30fabfc5f1c7cd7430e53e8d04bfacb53
      (this merged-in is not the same change; it's a conflicting change in
      master)
      e9381d5e
  3. Jun 13, 2017
    • Jeff Vander Stoep's avatar
      Build split file_contexts for recovery · b236eb6c
      Jeff Vander Stoep authored
      [    7.674739] selinux: selinux_android_file_context: Error getting
      file context handle (No such file or directory)
      
      Bug: 62564629
      Test: build and flash marlin. Successfully switch between regular
          and recovery modes
      
      Change-Id: I0f871f8842d95322c844fb7b13ad1b4b42578e35
      b236eb6c
  4. Jun 10, 2017
    • Jeff Vander Stoep's avatar
      Move non-treble devices to split file_contexts · 7a68c5ae
      Jeff Vander Stoep authored
      This change is primarily to fix CTS which checks file ordering of
      file_contexts. Having two separate means of loading file_contexts
      has resulted in ordering variations.
      
      Previously the binary file_contexts was preferred since it
      loaded faster. However with the move to libpcre2, there is no
      difference in loading time between text and binary file_contexts.
      This leaves us with build system complexity with no benefit.
      Thus removing this unnecessary difference between devices.
      
      Bug: 38502071
      Test: build and boot non-Treble Bullhead, run CTS tests below
      Test: build and boot Treble Marlin, run CTS tests below
      Test: cts-tradefed run singleCommand cts --skip-device-info \
          --skip-preconditions --skip-connectivity-check --abi arm64-v8a \
          --module CtsSecurityHostTestCases \
          -t android.security.cts.SELinuxHostTest#testAospFileContexts
      Test: cts-tradefed run singleCommand cts --skip-device-info \
          --skip-preconditions --skip-connectivity-check --abi arm64-v8a \
          --module CtsSecurityHostTestCases \
          -t android.security.cts.SELinuxHostTest#testValidFileContexts
      Change-Id: I088b3aeafaaab320f6658feb058a1fb89cbb65e1
      7a68c5ae
  5. Jun 06, 2017
  6. Jun 05, 2017
    • Jeff Vander Stoep's avatar
      Run Treble sepolicy tests at build time · 1fc0682e
      Jeff Vander Stoep authored
      Bug: 37008075
      Test: build policy on Marlin
      Change-Id: I53748f94c5df66fa17a53e7d0bed1be6b8603544
      (cherry picked from commit e1ddc6df)
      1fc0682e
    • Sandeep Patil's avatar
      Fix coredomain violation for modprobe · e41af203
      Sandeep Patil authored
      
      modprobe domain was allowed to launch vendor toolbox even if its a
      coredomain. That violates the treble separation. Fix that by creating a
      separate 'vendor_modprobe' domain that init is allowed to transition to
      through vendor_toolbox.
      
      Bug: 37008075
      Test: Build and boot sailfish
      
      Change-Id: Ic3331797691bb5d1fdc05a674aa4aa313e1f86b2
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      (cherry picked from commit 9e366a0e)
      e41af203
    • Jeff Vander Stoep's avatar
      Verify correct application of labels and attributes · bdfc0301
      Jeff Vander Stoep authored
      With project Treble, we're relying heavily on attributes for
      permission inheritance and enforcement of separation between
      platform and vendor components.
      
      We neead tests that verify those attributes are correctly applied.
      This change adds the framework for those tests including a wrapper
      around libsepol for loading and querying policy, and a python module
      for running tests on policy and file_contexts.
      
      Included with the testing framework is a test asserting that the
      coredomain attribute is only applied to core processes. This
      verification is done using the following rules:
      1. Domain's entrypoint is on /system - coredomain
      2. Domain's entrypoint is on /vendor - not coredomain
      3. Domain belongs to a whitelist of known coredomains - coredomain
      
      In a subsequent commit these tests will be applied at build time.
      However, I first need to fix existing Treble violations exposed by
      this test. These tests will also be applied during CTS.
      
      Test: LD_PRELOAD=$ANDROID_HOST_OUT/lib64/libsepolwrap.so python \
          treble.py -p $OUT/vendor/etc/selinux/precompiled_sepolicy \
          -f $OUT/vendor/etc/selinux/nonplat_file_contexts \
          -f $OUT/system/etc/selinux/plat_file_contexts
      Bug: 37008075
      Change-Id: I7825f5c2909a5801deaccf2bef2bfd227adb0ae9
      (cherry picked from commit 0366afdf)
      bdfc0301
  7. Jun 03, 2017
  8. Jun 02, 2017
  9. Jun 01, 2017
  10. May 31, 2017
  11. May 30, 2017
  12. May 26, 2017
  13. May 25, 2017
    • Andy Hung's avatar
    • TreeHugger Robot's avatar
    • Dan Cashman's avatar
      Restrict BOARD_PLAT_[PUBLIC|PRIVATE]_SEPOLICY_DIRS to one dir. · 51455fe9
      Dan Cashman authored
      These directories were added to allow for partner extensions to the
      android framework without needing to add changes to the AOSP global
      sepolicy.  There should only ever be one owner of the framework and
      corresponding updates, so enforce this restriction to prevent
      accidental accrual of policy in the system image.
      
      Bug: 36467375
      Test: Add public and private files to policy and verify that they are
      added to the appropriate policy files.  Also test that specifying
      multiple directories for public or private results in an error.
      
      Change-Id: I397ca4e7d6c8233d1aefb2a23e7b44315052678f
      Merged-In: I397ca4e7d6c8233d1aefb2a23e7b44315052678f
      (cherry picked from commit 1633da06)
      51455fe9
    • Dan Cashman's avatar
      Add BOARD_PLAT_[PUBLIC|PRIVATE]_SEPOLICY_DIRS · 1b0a71f3
      Dan Cashman authored
      Add new build variables for partner customization (additions) to platform sepolicy.
      This allows partners to add their own policy without having to touch the AOSP sepolicy
      directories and potentially disrupting compatibility with an AOSP system image.
      
      Bug: 36467375
      Test: Add public and private files to sailfish policy and verify that they are
      added to the appropriate policy files, but that the policy is otherwise identical.
      Also add private/mapping/*.cil files in both locations and change the BOARD_SEPOLICY_VERS
      to trigger use of prebuilt mapping files and verify that they are appropriately
      combined and built in policy.
      
      Change-Id: I38efe2248520804a123603bb050bba75563fe45c
      Merged-In: I38efe2248520804a123603bb050bba75563fe45c
      (cherry picked from commit f893700c)
      1b0a71f3
    • Josh Gao's avatar
  14. May 24, 2017
    • Sandeep Patil's avatar
      Allow init to run vendor toybox for modprobe · d46b5d35
      Sandeep Patil authored
      
      vendor implementations need to be able to run modprobe as part of
      init.rc scripts.  They cannot do so because of the strict neverallow
      currently in place that disallows all coredomains (including init)
      to execute vendor toybox.
      
      Fix this by adding init to the exception list for the neverallow so
      vendors can then run modprobe from .rc scripts and also add the rule to
      allow init to transition to modprobe domain using vendor_toolbox.
      
      Bug: b/38212864
      Test: Boot sailfish
      
      Change-Id: Ib839246954e9002859f3ba986094f206bfead137
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      d46b5d35
    • Michael Schwartz's avatar
    • 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
    • Andy Hung's avatar
      MediaExtractor: Allow reading of app data files. · ec5f80cb
      Andy Hung authored
      Needed to allow lower power Play Music of downloaded files.
      
          05-24 10:12:49.331 24025 24025 W generic : type=1400
                audit(0.0:1259): avc: denied { read } for
                path="/data/data/com.google.android.music/files/music/925.mp3"
                dev="sda35" ino=2179256 scontext=u:r:mediaextractor:s0
                tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
                permissive=0
      
      Test: Play Music
      Bug: 62059834
      
      Change-Id: I97bdb1d175dba8f7a8ec6cd9084323cfcd3660bd
      ec5f80cb
  15. May 23, 2017
    • pkanwar's avatar
      SE Policy for Tether Offload HAL · c67fa9bf
      pkanwar authored
      Update SE Policy to allow calls to and callbacks for the Tether Offload HAL
      HIDL binderized service.
      
      Bug: 38417260
      Test: New functionality. So we don't have any tests.
      Change-Id: I2c95b290523c55c081afa1bca091f368559c9125
      (cherry picked from commit 722249b3)
      c67fa9bf
  16. May 22, 2017
  17. May 19, 2017
    • Steven Moreland's avatar
      Fix graphics composer denial. · f30a82ef
      Steven Moreland authored
      Right now, the hwcomposer hidl hal is unable to figure out where
      to get the hidl mapper implementation.
      
      It is expected that all graphics composer objects will need this
      permission. The interfaces are written to work together with the
      "IMapper" being the same-process ("sphal") component and the
      "IComposer" interface being the binderized compoenent.
      
      10-09 00:24:38.900   457   457 E SELinux : avc:  denied  { find } for
      interface=android.hardware.graphics.mapper::IMapper pid=495
      scontext=u:r:hal_graphics_composer_default:s0
      tcontext=u:object_r:hal_graphics_mapper_hwservice:s0 tclass=hwservice_manager
      
      Test: boot marlin, denial no longer present.
      Bug: 38415912
      Change-Id: I1b274be10e115fa7b53fb81e85be8827da05997e
      f30a82ef
Loading