Skip to content
Snippets Groups Projects
  1. Dec 21, 2016
    • Steven Moreland's avatar
      Remove ENABLE_TREBLE from sepolicy. · 52b75977
      Steven Moreland authored
      Enabling/disabling sepolicy based on ENABLE_TREBLE is not granular
      enough (ref: b/32978887 #4).
      
      Bug: 32978887
      Test: compiles, doesn't cause any additional denials on device. Nothing
      depends on these things I'm removing.
      Change-Id: I10acbde16e5e2093f2c9205ed79cd20caed7f44d
      52b75977
  2. Dec 20, 2016
    • Mark Salyzyn's avatar
      logcat: introduce split to logd and logpersist domains · da62cb4d
      Mark Salyzyn authored
      - transition to logpersist from init
      - sort some overlapping negative references
      - intention is to allow logpersist to be used by vendor
        userdebug logging
      
      Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
      Bug: 30566487
      Change-Id: I7806f5a2548cbe0c1f257a0ba2855f2eb69d8e7c
      da62cb4d
  3. Dec 19, 2016
    • Nick Kralevich's avatar
      priv_app.te: drop app_data_file:file execute_no_trans; · 8fb4cb8b
      Nick Kralevich authored
      auditallow (added in commit 758e6b36)
      has been in place for about 2 weeks now, and no hits. Remove
      execute_no_trans.
      
      The net effect of this change is that priv_apps won't be able to exec()
      a file from their home directory, but dlopen() and friends will still
      work.
      
      Test: Compiles and boots successfully.
      Test: No auditallow messages received via SELinux denial collection.
      Change-Id: I60fcdc260d12e1bcc2355ca4dd912de7e6d0a145
      8fb4cb8b
    • Allen Hair's avatar
      Add coverage service. · 2328fec7
      Allen Hair authored
      Bug: 31077138
      Test: Device boots, coverage service works when tested manually.
      Change-Id: Ia855cfefd5c25be5d1d8db48908c04b3616b5504
      2328fec7
  4. Dec 17, 2016
  5. Dec 16, 2016
  6. Dec 15, 2016
    • Glen Kuhne's avatar
      hwbinder_use: allow for hwservicemanager callbacks. · 9147a238
      Glen Kuhne authored
      In order for hal clients to use IServiceManager::registerForNotifications,
      the hwservicemanager needs to be able to call into client processes.
      
      Test: WIP
      Bug: 33383725
      Change-Id: I59470e9cd5cbeafda010fedc0b91eeb41280e0a1
      9147a238
    • Jeff Sharkey's avatar
      Allow installd to get/set filesystem quotas. · fe1de046
      Jeff Sharkey authored
      To support upcoming disk usage calculation optimizations, this change
      grants installd access to work with filesystem quotas.
      
      avc: denied { search } for name="block" dev="tmpfs" ino=15279 scontext=u:r:installd:s0 tcontext=u:object_r:block_device:s0 tclass=dir permissive=0
      avc: denied { sys_admin } for capability=21 scontext=u:r:installd:s0 tcontext=u:r:installd:s0 tclass=capability permissive=1
      avc: denied { quotaget } for scontext=u:r:installd:s0 tcontext=u:object_r:labeledfs:s0 tclass=filesystem permissive=1
      
      Test: builds
      Bug: 27948817
      Change-Id: Ic166e8ced30e15ce84223576729888a824037691
      fe1de046
    • Nick Kralevich's avatar
      Enforce assumptions around metadata_block_device · 5207ca6a
      Nick Kralevich authored
      Add a compile time assertion that only authorized SELinux domains are
      allowed to touch the metadata_block_device. This domain may be wiped at
      will, and we want to ensure that we're not inadvertently destroying
      other people's data.
      
      Test: policy compiles.
      Change-Id: I9854b527c3d83e17f717d6cc8a1c6b50e0e373b6
      5207ca6a
  7. Dec 14, 2016
    • Nick Kralevich's avatar
      Assign a label to the ro.boottime.* properties · bb9a3888
      Nick Kralevich authored
      system/core commit 331cf2fb7c16b5b25064f8d2f00284105a9b413f created a
      number of new properties of the form:
      
        [ro.boottime.init]: [5294587604]
        [ro.boottime.InputEventFind]: [10278767840]
        [ro.boottime.adbd]: [8359267180]
        ...
      
      These properties were assigned the default_prop SELinux label because a
      better label did not exist. Properties labeled with the default_prop
      label are readable to any SELinux domain, which is overly broad.
      
        bullhead:/ $ getprop -Z ro.boottime.adbd
        u:object_r:default_prop:s0
      
      Instead, create a new label for the ro.boottime.* properties so we can
      apply more fine grain read access control to these properties.
      
        bullhead:/ $ getprop -Z ro.boottime.adbd
        u:object_r:boottime_prop:s0
      
      New SELinux property labels have minimal permissions by default. As a
      result, after this change, ro.boottime.* properties will only be
      readable to system_server, bootstat, init (because it manages the property
      space), and "adb root" (because no SELinux permissions are enforced there).
      
      Additional read access can be granted as-needed.
      
      This is part of a larger effort to implement fine-grain access control
      on the properties managed by init.
      
      Test: Device boots and no SELinux denials on boot.
      Change-Id: Ibf981cb81898f4356fdc5c1b6f15dd93c0d6d84d
      bb9a3888
    • Chad Brubaker's avatar
      Allow binder IPC between ephemeral app and appdomain · 641d5d8f
      Chad Brubaker authored
      Address denial type=1400 audit(0.0:42): avc: denied { call } for
      scontext=u:r:untrusted_app:s0:c512,c768
      tcontext=u:r:ephemeral_app:s0:c207,c258,c512,c768 tclass=binder
      
      Test: Above denial no longer happens
      Change-Id: I351269ee4671cfd51c981d3db5d0f3944d14e702
      641d5d8f
    • Steven Moreland's avatar
      All hal policies expressed as attributes. · 29eed9fa
      Steven Moreland authored
      Bug: 32123421
      Bug: 32905206
      
      Test: compiles, nfc works
      Change-Id: Ibf72ef70255573e4df0863ea640354b3c37eb47d
      29eed9fa
    • Nick Kralevich's avatar
      Do not allow new additions to core_property_type · d310df20
      Nick Kralevich authored
      core_property_type is an attribute which was given to all existing
      properties known to core SELinux policy. Any property with this label is
      readable to all SELinux domains, which is overly broad. The long term
      goal is to remove the core_property_type attribute entirely.
      
      Add a neverallow rule prohibiting the introduction of new properties
      with the core_property_type attribute. Device specific properties, or
      new properties in core SELinux policy, should not have this attribute.
      
      Test: policy compiles
      Change-Id: Ie89a9f0d81c8561616001ff8451496ce2278dbb2
      d310df20
  8. Dec 13, 2016
    • Max's avatar
      Removing file system remount permission from vold · 16c889c5
      Max authored
      There is no reason for vold to have this permission, and a proper
      auditallow rule has been used and monitored to ensure that nothing on
      android uses this permission.
      
      Bug: 26901147
      
      Test: Phone boots
      Change-Id: Id36ed2722348f433fe3d046a3429066338230fec
      16c889c5
    • Connor O'Brien's avatar
      Add sepolicy for consumerir HIDL HAL · a95c52e3
      Connor O'Brien authored
      
      Test: logging confirms service runs on boot
      Change-Id: If86fa7daf4a626b3e04fa0d2677d4cb590eb71ce
      Signed-off-by: default avatarConnor O'Brien <connoro@google.com>
      a95c52e3
    • Jeff Sharkey's avatar
      Partially revert "mediaprovider" SELinux domain. · 52da39d9
      Jeff Sharkey authored
      The new domain wasn't fully tested, and it caused many regressions
      on the daily build.  Revert back to using "priv_app" domain until we
      can fully test and re-land the new domain.
      
      Temporarily add the USB functionfs capabilities to priv_app domain
      to keep remainder of MtpService changes working; 33574909 is tracking
      removing that from the priv_app domain.
      
      Test: builds, boots, verified UI and downloads
      Bug: 33569176, 33568261, 33574909
      Change-Id: I1bd0561d52870df0fe488e59ae8307b89978a9cb
      52da39d9
  9. Dec 12, 2016
    • Daniel Rosenberg's avatar
      isolated_app.te: Give permissions for using sdcardfs · 02bf4aad
      Daniel Rosenberg authored
      Sdcardfs does not use a userspace daemon, so the secontext
      is currently the caller's when accessing files. This can be
      removed if sdcardfs is modified to change the secontext before
      calling into the lower filesystem.
      
      Bug: 32735101
      Test: Run any app that falls under isolated_app.
      Test: See bug for example
      Change-Id: I9433aa0f14ff0d5a518249079e07f57e55b09bcf
      02bf4aad
    • Jerry Zhang's avatar
      Move MediaProvider to its own domain, add new MtpServer permissions · f921dd9c
      Jerry Zhang authored
      Also move necessary priv_app permissions into MediaProvider domain and
      remove MediaProvider specific permissions from priv_app.
      
      The new MtpServer permissions fix the following denials:
      
      avc: denied { write } for comm=6D747020666673206F70656E name="ep0" dev="functionfs" ino=12326 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:functionfs:s0 tclass=file permissive=1
      
      denial from setting property sys.usb.ffs.mtp.ready, context priv_app
      
      Bug: 30976142
      Test: Manual, verify permissions are allowed
      Change-Id: I4e66c5a8b36be21cdb726b5d00c1ec99c54a4aa4
      f921dd9c
    • Roshan Pius's avatar
      hal_wifi: Allow HAL to reload wifi firmware · 85e3e7d6
      Roshan Pius authored
      Need write permissions on the specified sysfs path for reloading
      firmware.
      
      Denials:
      01-21 23:39:01.650  4669  4669 W android.hardwar: type=1400
      audit(0.0:103): avc: denied { write } for name="fwpath" dev="sysfs"
      ino=6847 scontext=u:r:hal_wifi:s0
      tcontext=u:object_r:sysfs_wlan_fwpath:s0 tclass=file permissive=0
      01-21 23:39:01.653  4669  4669 E android.hardware.wifi@1.0-service:
      Failed to open wlan fw path param: Permission denied
      
      Bug: 32018162
      Test: Denials no longer present in the logs.
      Change-Id: I1a468e7c2a2a4360a2b61f04f1940471d52d0dd6
      85e3e7d6
    • Roshan Pius's avatar
      hal_wifi: Allow system_server to access wifi HIDL services · 02ed21e8
      Roshan Pius authored
      We're going to be using Android framework directly to invoke Wifi HIDL
      calls. So, change permissions appropriately.
      
      Bug: 33398154
      Test: Verfied that framework is able to make HIDL calls using
      go/aog/310610.
      
      Change-Id: I4d0d88961753ad73f3876aec58b26b89486cc02a
      02ed21e8
  10. Dec 10, 2016
    • Nick Kralevich's avatar
      Move hci_attach to hikey · 4394b2c0
      Nick Kralevich authored
      This is unused by core policy and by any device policy except for hikey.
      
      Test: device boots
      Test: no denials ever collected
      Change-Id: I36a6790499e4aeedd808457b43fd72370fa48e53
      4394b2c0
    • Nick Kralevich's avatar
      Whitespace fix · b56e6ef8
      Nick Kralevich authored
      Because I'm nitpicky.
      
      Test: policy compiles
      Change-Id: I4d886d0d6182d29d7b260cf1f142c47cd32eda29
      b56e6ef8
    • Nick Kralevich's avatar
      remove more domain_deprecated · 6a259ccd
      Nick Kralevich authored
      Test: no denials showing up in log collection
      Test: device boots
      Bug: 28760354
      Change-Id: I089cfcf486464952fcbb52cce9f6152caf662c23
      6a259ccd
    • Nick Kralevich's avatar
      debuggerd.te: remove domain_deprecated · 30603f1e
      Nick Kralevich authored
      Remove domain_deprecated and add denials picked up by log collection.
      
      Addresses the following auditallow messages:
      
        avc: granted { search } for comm="debuggerd" name="arm" dev="sda35"
        ino=57521 scontext=u:r:debuggerd:s0
        tcontext=u:object_r:apk_data_file:s0 tclass=dir
      
        avc: granted { read } for comm="debuggerd"
        path="/data/app/dji.pilot-Z6Q2X6YjYNN2Ag8otZTCdg==/lib/arm/libtpnsWatchdog.so"
        dev="sda35" ino=57854 scontext=u:r:debuggerd:s0
        tcontext=u:object_r:apk_data_file:s0 tclass=file
      
        avc: granted { getattr } for comm="debuggerd64"
        path="/data/app/com.google.android.youtube-2/lib/arm64/libcronet.so"
        dev="sda35" ino=1384657 scontext=u:r:debuggerd:s0
        tcontext=u:object_r:apk_data_file:s0 tclass=file
      
        avc: granted { read open } for comm="debuggerd"
        path="/data/app/dji.pilot-We9wJivxEqhzfdtQrNFvaA==/lib/arm/libtpnsWatchdog.so"
        dev="sda35" ino=57575 scontext=u:r:debuggerd:s0
        tcontext=u:object_r:apk_data_file:s0 tclass=file
      
      Bug: 28760354
      Test: Device boots
      Test: No unexpected denials in denial collection logs.
      Change-Id: I1ae6203e37ddd4a19551d8063d26071ac20f2f3e
      30603f1e
  11. Dec 09, 2016
    • Jeff Sharkey's avatar
      installd has moved on to Binder; goodbye socket! · 8b1d4520
      Jeff Sharkey authored
      After a series of recent commits, installd has fully migrated over
      to Binder, and all socket-based communication has been removed.
      
      Test: builds, boots, apps install fine, pre-OTA dexopt works
      Bug: 13758960, 30944031
      Change-Id: Ia67b6260de58240d057c99b1bbd782b44376dfb5
      8b1d4520
  12. Dec 08, 2016
    • dcashman's avatar
      Restore app_domain macro and move to private use. · 3e8dbf01
      dcashman authored
      app_domain was split up in commit: 2e00e637 to
      enable compilation by hiding type_transition rules from public policy.  These
      rules need to be hidden from public policy because they describe how objects are
      labeled, of which non-platform should be unaware.  Instead of cutting apart the
      app_domain macro, which non-platform policy may rely on for implementing new app
      types, move all app_domain calls to private policy.
      
      (cherry-pick of commit: 76035ea0)
      
      Bug: 33428593
      Test: bullhead and sailfish both boot. sediff shows no policy change.
      Change-Id: I4beead8ccc9b6e13c6348da98bb575756f539665
      3e8dbf01
  13. Dec 07, 2016
    • Nick Kralevich's avatar
      Add TCSETS to unpriv_tty_ioctls · 240f50e8
      Nick Kralevich authored
      Addresses the following denial:
      
      avc: denied { ioctl } for comm="top" path="/dev/pts/0" dev="devpts"
      ino=3 ioctlcmd=5402 scontext=u:r:shell:s0 tcontext=u:object_r:devpts:s0
      tclass=chr_file permissive=0
      
      Bug: 33073072
      Bug: 7530569
      Test: policy compiles.
      Change-Id: If9178d29f2295be46bb118df00ebf73a6ebc9f81
      240f50e8
    • Nick Kralevich's avatar
      priv_app.te: Drop auditallow app_data_file:file execute · 57475e5e
      Nick Kralevich authored
      This functionality is being used by priv_apps shipped as part of
      Android. Don't drop execute_no_trans as we haven't seen any denials here
      yet.
      
      Addresses the following auditallow messages:
      
      avc: granted { execute } for comm="GELServices-0"
      path="/data/data/com.google.android.googlequicksearchbox/files/velour/dex_cache/Ji1opKyKASKEOKNQUu1QyWw_1.jar/Ji1opKyKASKEOKNQUu1QyWw_1.dex"
      dev="dm-2" ino=1196939 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="CTION_IDLE_MODE"
      path="/data/data/com.google.android.gms/snet/dalvik-cache/snet.dex"
      dev="dm-2" ino=1114262 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="lowpool[3]"
      path="/data/data/com.google.android.gms/files/libAppDataSearchExt_arm64_v8a.so"
      dev="dm-2" ino=1688320 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="Binder:9196_2"
      path="/data/data/com.google.android.gms/app_dg_cache/1FECE961A655634046D6AB5E18FE6F74212FBEA6/lib/libdC14BB7282EA1.so"
      dev="dm-2" ino=1893474 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="Binder:13170_1"
      path="/data/data/com.google.android.gms/app_fb/f.dex" dev="dm-2"
      ino=1810720 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      Test: policy compiles.
      Change-Id: I63358697b07c8f620b999e666791f4f385bab776
      57475e5e
    • Daniel Rosenberg's avatar
      Move sdcardfs media_rw_data_file rules to app.te · 2a0053b2
      Daniel Rosenberg authored
      Test: No media_rw_data_file related app denials
      Change-Id: I1a977db09379f9a3e5bc52c597df12f52929ad19
      2a0053b2
    • dcashman's avatar
      Fix build. · 0c8ad1dc
      dcashman authored
      Make all platform tyeps public to start to prevent build breakage in any devices
      that may have device-specific policy using these types.  Future changes will
      need to be carefully made to ensure we properly limit types for use by
      non-platform policy.
      
      Test: Builds
      Change-Id: I7349940d5b5a57357bc7c16f66925dee1d030eb6
      0c8ad1dc
  14. Dec 06, 2016
    • Torne (Richard Coles)'s avatar
      Allow webview_zygote to read/execute installed APKs. · 7256f369
      Torne (Richard Coles) authored
      webview_zygote needs to preload the WebView implementation, which may be
      an installed APK, so must be able to read and execute code from inside
      the APK.
      
      Also add additional neverallow assertions to strengthen some
      restrictions on this domain.
      
      Test: WebView apps work after installing a WebView APK.
      Bug: 21643067
      Change-Id: I58aedc5e0a25259e2e20c70d4260579a354b6789
      7256f369
    • dcashman's avatar
      sepolicy: add version_policy tool and version non-platform policy. · 2e00e637
      dcashman authored
      In order to support platform changes without simultaneous updates from
      non-platform components, the platform and non-platform policies must be
      split.  In order to provide a guarantee that policy written for
      non-platform objects continues to provide the same access, all types
      exposed to non-platform policy are versioned by converting them and the
      policy using them into attributes.
      
      This change performs that split, the subsequent versioning and also
      generates a mapping file to glue the different policy components
      together.
      
      Test: Device boots and runs.
      Bug: 31369363
      Change-Id: Ibfd3eb077bd9b8e2ff3b2e6a0ca87e44d78b1317
      2e00e637
  15. Dec 05, 2016
    • Jeff Sharkey's avatar
      Rules for new installd Binder interface. · e160d14e
      Jeff Sharkey authored
      Most of this CL mirrors what we've already done for the "netd" Binder
      interface, while sorting a few lists alphabetically.
      
      Migrating installd to Binder will allow us to get rid of one of
      the few lingering text-based command protocols, improving system
      maintainability and security.
      
      Test: builds, boots
      Bug: 13758960, 30944031
      Change-Id: I59b89f916fd12e22f9813ace6673be38314c97b7
      e160d14e
Loading