Skip to content
Snippets Groups Projects
  1. Jul 27, 2017
    • Jeff Vander Stoep's avatar
      netd: relax binder neverallow rules for hwservices · faaf86bc
      Jeff Vander Stoep authored
      Relax neverallow rule restricting binder access to/from netd so that
      netd can export hwbinder services to vendor components.
      
      Continue to disallow app access to netd via binder.
      
      Bug: 36682246
      Test: build
      Merged-In: I8e558ea1add6c36b966ec1da204062ea82df3f3f
      Change-Id: I063df6dded94d8b0f5214b2c94c4f46bdafb03d7
      faaf86bc
  2. Jun 26, 2017
    • Jeff Vander Stoep's avatar
      Add another extraneous neverallow rule to force attribute inclusion · c75aa50d
      Jeff Vander Stoep 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: 62658302
      Bug: 62999603
      Test: Build Marlin policy.
      Test: verify attribute exists in policy using sepolicy-analyze.
          sepolicy-analyze $OUT/vendor/etc/selinux/precompiled_sepolicy \
          attribute hal_tetheroffload_server
      Test: CTS neverallow tests pass.
          cts-tradefed run cts -m CtsSecurityHostTestCases -t \
          android.cts.security.SELinuxNeverallowRulesTest
      Change-Id: I62596ba8198ffdcbb4315df639a834e4becaf249
      c75aa50d
  3. Jun 21, 2017
    • Jeff Vander Stoep's avatar
      Exempt tetheroffload hal from network socket restrictions · d75a2c0c
      Jeff Vander Stoep authored
      The tetheroffload hal must be able to use network sockets as part of
      its job.
      
      Bug: 62870833
      Test: neverallow-only change builds.
      Change-Id: I630b36340796a5ecb5db08e732b0978dd82835c7
      d75a2c0c
    • Dan Cashman's avatar
      Remove neverallow preventing hwservice access for apps. · 3e307a4d
      Dan Cashman authored
      Same-process HALs are forbidden except for very specific HALs that have
      been provided and whitelisted by AOSP.  As a result, a vendor extension
      HAL may have a need to be accessed by untrusted_app.  This is still
      discouraged, and the existing AOSP hwservices are still forbidden, but
      remove the blanket prohibition.  Also indicate that this is temporary,
      and that partners should expect to get exceptions to the rule into AOSP
      in the future.
      
      Bug: 62806062
      Test: neverallow-only change builds.  Verify new attribute is in policy.
      Change-Id: I6d3e659147d509a3503c2c9e0b6bb9016cc75832
      3e307a4d
  4. Jun 20, 2017
  5. 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
  6. Jun 14, 2017
  7. Jun 06, 2017
  8. Jun 05, 2017
    • 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
  9. Jun 02, 2017
  10. Jun 01, 2017
    • Steve Muckle's avatar
      allow modprobe to load signed kernel modules · 53add31a
      Steve Muckle authored
      Modprobe requires this permission or the following denial will
      prevent loading of signed kernel modules:
      
      audit: type=1400 audit(27331649.656:4): avc:  denied  { search } for
      pid=448 comm="modprobe" scontext=u:r:modprobe:s0 tcontext=u:r:kernel:s0
      tclass=key permissive=0
      
      Bug: 62256697
      Test: Verified signed module loading on sailfish.
      Change-Id: Idde41d1ab58e760398190d6686665a252f1823bb
      53add31a
  11. May 31, 2017
  12. 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
    • 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
  13. 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
  14. 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
  15. May 18, 2017
    • Wyatt Riley's avatar
      Removing UDP access for hal_gnss · 799c2349
      Wyatt Riley authored
      Underlying data services setup no longer needs this
      
      Bug: 35757613
      Bug: 36085168
      Test: GPS, XTRA & avc denial checks
      Change-Id: I679ee70f65f34d5a7d1fc1f1fe92af6a92ec92c5
      799c2349
    • Sohani Rao's avatar
      SE Policy for Wifi Offload HAL · 325bf725
      Sohani Rao authored
      Update SE Policy to allow calls to and callbacks from Wifi Offload HAL
      HIDL binderized service.
      Combined cherry pick from d56aa1982d15acfc2408271138dac43f1e5dc987
      and 66e27bf5
      
      Bug: 32842314
      Test: Unit tests, Mannual test to ensure Wifi can be brought up and
      connected to an AP, ensure that Offload HAL service is running and that
      that wificond can get the service handle by calling hwservicemanager.
      
      Change-Id: I0fc51a4152f1891c8d88967e75d45ded115e766e
      325bf725
  16. May 17, 2017
    • Steven Moreland's avatar
      Add fwk_display_hwservice. · e8ab0020
      Steven Moreland authored
      This hidl service provides information about vsync and hotplug
      to vendor services which is required by at least some camera
      hal implementations.
      
      Test: VtsFwkDisplayServiceV1_0TargetTest
      Test: no denials
      Bug: 38311538
      Change-Id: I64f0321e2832facf987057f0d48940e269d8e2d9
      e8ab0020
  17. May 16, 2017
    • Jeff Vander Stoep's avatar
      hal_camera: remove video_device restriction · a1c94c8d
      Jeff Vander Stoep authored
      Disallowing other HALs access to video_device does not appear to be
      enforceable.
      
      (cherry picked from commit c26dd18a)
      
      Bug: 37669506
      Test: build policy. Neverallow rules are build time test and do not
            impact the policy binary.
      Change-Id: Iea401de08a63f3261a461f67b85113a9d838e88a
      a1c94c8d
  18. May 15, 2017
    • Jeff Vander Stoep's avatar
      Move domain_deprecated into private policy · 76aab82c
      Jeff Vander Stoep authored
      This attribute is being actively removed from policy. Since
      attributes are not being versioned, partners must not be able to
      access and use this attribute. Move it from private and verify in
      the logs that rild and tee are not using these permissions.
      
      Bug: 38316109
      Test: build and boot Marlin
      Test: Verify that rild and tee are not being granted any of these
            permissions.
      Change-Id: I31beeb5bdf3885195310b086c1af3432dc6a349b
      76aab82c
  19. May 12, 2017
    • Andrew Scull's avatar
      SELinux policies for Weaver HAL. · 3c90eaf2
      Andrew Scull authored
      Bug: 35628284
      Change-Id: I08877ac117212325b1259f7d90a4c0cb1dac2d9f
      Fix: 38233550
      Test: Build and boot
      Merged-In: I4cdacb601e0eea1f5f0e721c568c7ee04298704f
      3c90eaf2
    • Andrew Scull's avatar
      SELinux policies for the OEM lock HAL. · 0e9b2207
      Andrew Scull authored
      Bug: 34766843
      Change-Id: I5be615d818ecf999fec6514ce9b89ff6a7f13cd6
      Fix: 38232801
      Test: Build and boot
      Merged-In: Ice78aedfdbe82477a84252499a76dad37887fe6b
      0e9b2207
  20. May 11, 2017
    • Luke Song's avatar
      Move sensord sepolicy · 2dd9ae33
      Luke Song authored
      Sensord move in ag/2106763 should be accompanied by corresponding
      sepolicy move of sensord-related files/declarations.
      
      Bug: 36996994
      Test: Sailfish build shows no related permission errors
      Change-Id: Ibe41b363f7ca2752b5d3e0961298985cf784663d
      2dd9ae33
  21. 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
  22. May 09, 2017
    • Martijn Coenen's avatar
      Grant CAP_SYS_NICE to processes that need it. · 0d1f7d29
      Martijn Coenen authored
      New binder kernel changes extend the areas where
      binder will set real-time scheduling priorities
      on threads; to make sure the driver can correctly
      determine whether a process is allowed to run
      at real-time priority or not, add the capability
      to the services that need it.
      
      Bug: 37293077
      Test: processes run at real-time prio on incoming
            real-time binder calls.
      
      Change-Id: Ia4b3e5ecb1f5e18e7272bdaaad5c31a856719633
      0d1f7d29
  23. May 08, 2017
    • Mikhail Naganov's avatar
      hal_audio: Allow writing dump info into pipes when capturing BR · 7fa260ab
      Mikhail Naganov authored
      The following HAL methods use file descriptors to write dump
      info comprising audioflinger debug dump:
      
      IDevice.debugDump
      IEffectsFactory.debugDump
      IStream.debugDump
      
      Bug: 37993476
      Test: check contents of media.audio_flinger section in
            a bugreport captured on Pixel device
      Merged-In: I77d347c019ac93c3ba0d54ce50f0fdc243b04685
      
      Change-Id: Ia0531f715ae5f8b2599153e54a11e9eb4ee47d4b
      7fa260ab
  24. May 05, 2017
    • Jeff Sharkey's avatar
      Allow installd to delete files via sdcardfs. · 72f4c619
      Jeff Sharkey authored
      When installd clears cached files on external storage, the sdcardfs
      kernel filesystem needs to be kept in the loop to release any cached
      dentries that it's holding onto.  (Otherwise the underlying disk
      space isn't actually released.)
      
      installd can already delete the underlying files directly (via the
      media_rw_data_file rules), so this technically isn't expanding its
      capabilities.
      
      avc: granted { search } for name="/" dev="tmpfs" ino=6897 scontext=u:r:installd:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir
      avc: denied { open } for path="/mnt/runtime/default/emulated/0/Android/data" dev="sdcardfs" ino=589830 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=1
      avc: denied { write } for name="com.google.android.inputmethod.japanese" dev="sdcardfs" ino=590040 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0
      avc: denied { remove_name } for name="cache_r.m" dev="sdcardfs" ino=589868 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0
      avc: denied { getattr } for path="/mnt/runtime/default/emulated/0/Android/data/.nomedia" dev="sdcardfs" ino=589831 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=1
      
      Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
      Bug: 37486230
      Change-Id: Icfd00a9ba379b1f50c48fe85849304cf9859bcb2
      72f4c619
  25. May 04, 2017
    • 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
  26. May 02, 2017
  27. Apr 29, 2017
    • Hassan Shojania's avatar
      Allow mediaserver to access fd allocated by hal_graphics_composer · a91e3e82
      Hassan Shojania authored
      Bug:  37713584
      Test: With GtsMediaTestCases.apk installed, try:
            adb shell am instrument -w
            -e class 'com.google.android.media.gts.MediaPlayerTest#testLLAMA_H264_BASELINE_240P_800_DOWNLOADED_V0_SYNC'
            'com.google.android.media.gts/android.support.test.runner.AndroidJUnitRunner'
      
      Change-Id: Icc2066e9d9bbc5c020b6d694e9627487771ef35e
      a91e3e82
    • Andreas Gampe's avatar
      Sepolicy: Fix new access from the linker for postinstall · bddd1893
      Andreas Gampe authored
      The linker now requires getattr rights for the filesystem. Otherwise
      linking otapreopt and patchoat/dex2oat will fail.
      
      Bug: 37776530
      Test: m
      Test: manual OTA
      Change-Id: I1351fbfa101beca4ba80f84b0dd9dbcabe2c9d39
      bddd1893
  28. Apr 28, 2017
    • Jeff Vander Stoep's avatar
      Add default label and mapping for vendor services · 082eae4e
      Jeff Vander Stoep authored
      Adding the default label/mapping is important because:
      1.  Lookups of services without an selinux label should generate
          a denial.
      2.  In permissive mode, lookups of a service without a label should be
          be allowed, without the default label service manager disallows
          access.
      3.  We can neverallow use of the default label.
      
      Bug: 37762790
      Test: Build and flash policy onto Marlin with unlabeled vendor services.
          Add/find of unlabeled vendor services generate a denial.
      
      Change-Id: I66531deedc3f9b79616f5d0681c87ed66aca5b80
      (cherry picked from commit 639a2b84)
      082eae4e
    • Steven Moreland's avatar
      Remove audio from socket_between.._violators · b0ed9363
      Steven Moreland authored
      Test: Play Music over BT headset
      Bug: 37640821
      Change-Id: I1fe6c9a289315dc0118888e19250cd64aee9a0d5
      b0ed9363
  29. Apr 27, 2017
  30. Apr 26, 2017
    • Nick Kralevich's avatar
      relax fuse_device neverallow rules · 45766d41
      Nick Kralevich authored
      The fuse_device neverallow rules are too aggressive and are inhibiting
      certain vendor customizations. Relax the /dev/fuse neverallow rules so
      that they better reflect the security invariants we want to uphold.
      
      Bug: 37496487
      Test: policy compiles.
      Change-Id: Ie73b0ba7c76446afc2a7a23ebed1275c977d932d
      45766d41
Loading