Skip to content
Snippets Groups Projects
  1. May 09, 2018
    • Mark Salyzyn's avatar
      FrameworksServicesTests: allow access to test.sys.boot.reason property · 1b748766
      Mark Salyzyn authored
      com.android.server.power.PowerManagerServiceTest#testGetLastShutdownReasonInternal due to "RuntimeException: failed to set system property"
      
      W/roidJUnitRunner: type=1400 audit(0.0:6): avc: denied { write } for name="property_service" dev="tmpfs" ino=13178 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:property_socket:s0 tclass=sock_file permissive=0
      W/libc    : Unable to set property "test.sys.boot.reason" to "shutdown,thermal": connection failed; errno=13 (Permission denied)
      
      Had to use precise property definition as com.android.phone accesses
      test properties as well.
      
      Test: compile
      Bug: 78245377
      Change-Id: I2cc810846f8615f2a2fae8e0d4f41de585b7abd7
      1b748766
  2. Apr 23, 2018
    • Wei Wang's avatar
      Allow dumpstate to kill dumpstate vendor HAL in timeout case · 60d17674
      Wei Wang authored
      Bug: 77489941
      Test: simulate delay in dumpstate HAL and get BR, see below from dumpstate_log.txt
          dumpstateBoard timed out after 10s, killing dumpstate vendor HAL
          dumpstateBoard failed: Status(EX_TRANSACTION_FAILED): 'DEAD_OBJECT: '
      Change-Id: I90ed5cb8fe8da8ad21ae77676433936cb12d9d04
      60d17674
    • Lalit Maganti's avatar
      sepolicy: allow shell to read/write traced prop · 00c8e3d9
      Lalit Maganti authored
      This is to fix the CTS failures given by the bugs below where devices
      where traced is not enabled by default causes test failures.
      
      (cherry picked from commit 673b4db7)
      
      Bug: 78215159
      Bug: 78347829
      Change-Id: Ib0f6a1cdb770528dbbeb857368534ff5040e464e
      00c8e3d9
  3. Jan 18, 2018
    • Jaekyun Seok's avatar
      Add default namespaces of odm properties · afca82a3
      Jaekyun Seok authored
      Since /odm is an extension of /vendor, its default property contexts
      should be consistent with ones of /vendor.
      
      Bug: 36796459
      Test: tested on wahoo devices
      Change-Id: Ia67ebe81e9c7102aab35a34f14738ed9a24811d3
      afca82a3
  4. Jan 16, 2018
  5. Jan 10, 2018
    • Jaekyun Seok's avatar
      Whitelist exported platform properties · e4971454
      Jaekyun Seok authored
      This CL lists all the exported platform properties in
      private/exported_property_contexts.
      
      Additionally accessing core_property_type from vendor components is
      restricted.
      Instead public_readable_property_type is used to allow vendor components
      to read exported platform properties, and accessibility from
      vendor_init is also specified explicitly.
      
      Note that whitelisting would be applied only if
      PRODUCT_COMPATIBLE_PROPERTY is set on.
      
      Bug: 38146102
      Test: tested on walleye with PRODUCT_COMPATIBLE_PROPERTY=true
      Change-Id: I304ba428cc4ca82668fec2ddeb17c971e7ec065e
      e4971454
  6. Nov 16, 2017
  7. Nov 15, 2017
  8. Nov 08, 2017
  9. Sep 28, 2017
  10. Sep 26, 2017
  11. Sep 20, 2017
  12. Aug 24, 2017
    • Mark Salyzyn's avatar
      Switch /data/misc/reboot/last_reboot_reason to persistent property · 006c2e99
      Mark Salyzyn authored
      Switch from /data/misc/reboot/last_reboot_reason to persistent
      Android property persist.sys.boot.reason for indicating why the
      device is rebooted or shutdown.
      
      Introduce protection for all boot reason properties
      
      Protect the following properties with these labels
      
      ro.boot.bootreason      u:object_r:bootloader_boot_reason_prop:s0
      sys.boot.reason         u:object_r:sys_boot_reason_prop:s0
      persist.sys.boot.reason u:object_r:last_boot_reason_prop:s0
      
      Setup the current as-need access rules for each.
      
      ToDo: Remove u:object_r:reboot_data_file after internal fixes.
      
      Test: system/core/bootstat/boot_reason_test.sh
      Bug: 64687998
      Change-Id: I3771c73933e8ae2d94aee936c7a38b6282611b80
      006c2e99
  13. Jul 13, 2017
  14. Jul 12, 2017
  15. Jul 11, 2017
    • Lorenzo Colitti's avatar
      Temporarily revert the SELinux policy for persist.netd.stable_secret. · 9fa11b77
      Lorenzo Colitti authored
      This change did not make it into core sepolicy in time for O.
      The revert allows devices to define these selinux policies in
      vendor-specific sepolicy instead of core sepolicy. It is
      necessary because:
      
      1. It is too late to change property_contexts in O.
      2. Adding the netd_stable_secret prop to vendor sepolicy results
         in a duplicate definition error at compile time.
      3. Defining a new vendor-specific context (such as
         net_stable_secret_vendor_prop) and applying it to
         persist.netd.stable_secret results in the device not booting
         due to attempting to apply two different contexts to the same
         property.
      
      Lack of the sepolicy no longer breaks wifi connectivity now that
      IpManager no longer considers failure to set the stable secret to
      be a fatal error.
      
      Once all interested devices have adopted the vendor sepolicy,
      this policy can safely be reinstated by reverting said vendor
      sepolicies in internal master.
      
      This reverts commit abb1ba65.
      
      Bug: 17613910
      Test: bullhead builds, boots, connects to wifi
      Change-Id: Idffcf78491171c54bca9f93cb920eab9b1c47709
      9fa11b77
  16. Jul 10, 2017
    • Lorenzo Colitti's avatar
      Temporarily revert the SELinux policy for persist.netd.stable_secret. · 07e631d2
      Lorenzo Colitti authored
      This change did not make it into core sepolicy in time for O.
      The revert allows devices to define these selinux policies in
      vendor-specific sepolicy instead of core sepolicy. It is
      necessary because:
      
      1. It is too late to change property_contexts in O.
      2. Adding the netd_stable_secret prop to vendor sepolicy results
         in a duplicate definition error at compile time.
      3. Defining a new vendor-specific context (such as
         net_stable_secret_vendor_prop) and applying it to
         persist.netd.stable_secret results in the device not booting
         due to attempting to apply two different contexts to the same
         property.
      
      Lack of the sepolicy no longer breaks wifi connectivity now that
      IpManager no longer considers failure to set the stable secret to
      be a fatal error.
      
      Once all interested devices have adopted the vendor sepolicy,
      this policy can safely be reinstated by reverting said vendor
      sepolicies in internal master.
      
      This reverts commit abb1ba65.
      
      Bug: 17613910
      Test: bullhead builds, boots, connects to wifi
      Change-Id: Idffcf78491171c54bca9f93cb920eab9b1c47709
      07e631d2
  17. Jun 27, 2017
    • Andreas Gampe's avatar
      Sepolicy: Give asan_extract access to powerctl · 8c7514ad
      Andreas Gampe authored
      rc-style powerctl has beem removed. Accordingly, asan_extract now
      needs access to sys.powerctl directly.
      
      (orginally commit: 82672089)
      
      Bug: 36458146
      Bug: 38241921
      Test: Builds and boots.
      Change-Id: I7d6e583f5e98b671986a2071abf157c86e288a10
      8c7514ad
  18. Jun 15, 2017
    • Dan Cashman's avatar
      DO NOT MERGE. Restore property to match oc-dev. · 9d448b91
      Dan Cashman authored
      CTS checks to make sure that the _contexts files on a device have
      a superset of the AOSP entries.  This was removed due to concurrent
      master and DR development.  Restore the entry to allow CTS to pass.
      
      Bug: 38241921
      Bug: 62348859
      Test: Policy builds and is identical to oc-dev for prop ctxts.
      Change-Id: I87ccbee7aadee57b8e46ede73280810362b618c0
      9d448b91
  19. Jun 12, 2017
    • Joel Scherpelz's avatar
      SELinux policy for secure persistent netd storage · abb1ba65
      Joel Scherpelz authored
      This is used to persist RFC 7217 stable secrets across device reboots.
      
      First submit caused a merge conflict. This revision replaces netd_prop
      with a more unique name netd_stable_secret_prop.
      
      Test: as follows
          - Manually tested that stable_secret is generated on first use and
            persists until reset of user data partition (factory reset).
          - Tested that "adb shell getprop" was denied access to
            persist.netd.stable_secret after running "adb unroot".
      Bug: 17613910
      
      Change-Id: I0a609c724799a15b1926e62534c16810d34f2275
      abb1ba65
  20. Jun 08, 2017
    • Bartosz Fabianowski's avatar
      Revert "SELinux policy for secure persistent netd storage" · 06486796
      Bartosz Fabianowski authored
      This broke the build on master. See b/17613910#comment17
      for details.
      
      This reverts commit ef1fd98b.
      
      Change-Id: I11f7d463061a9b6340c11827135586266e26f016
      06486796
    • Joel Scherpelz's avatar
      SELinux policy for secure persistent netd storage · ef1fd98b
      Joel Scherpelz authored
      This is used to persist RFC 7217 stable secrets across device reboots.
      
      Test: as follows
          - Manually tested that stable_secret is generated on first use and
            persists until reset of user data partition (factory reset).
          - Tested that "adb shell getprop" was denied access to
            persist.netd.stable_secret after running "adb unroot".
      Bug: 17613910
      
      Change-Id: I4dad00fb189d697aceaffae49ad63987c7e45054
      ef1fd98b
  21. Apr 20, 2017
    • Andreas Gampe's avatar
      Sepolicy: Give asan_extract access to powerctl · 82672089
      Andreas Gampe authored
      rc-style powerctl has beem removed. Accordingly, asan_extract now
      needs access to sys.powerctl directly.
      
      Bug: 36458146
      Test: m && m SANITIZE_TARGET=address SANITIZE_TARGET_SYSTEM=true
      Change-Id: Ic65a858962b4b3dd613fdbfa09f93d21425bf892
      82672089
  22. Apr 05, 2017
    • Andreas Gampe's avatar
      Sepolicy: Add ASAN-Extract · 82071b68
      Andreas Gampe authored
      Add selinux policies for init script and shell script to unzip a tar
      containing ASAN libraries on boot.
      
      Bug: 36458146
      Test: m && m SANITIZE_TARGET=address
      Test: manual (build steps for tar missing)
      Change-Id: I5c3cb233aae93ee9985431090af902b0e3c1b0a7
      (cherry picked from commit 0b743050)
      Merged-In: I5c3cb233aae93ee9985431090af902b0e3c1b0a7
      82071b68
  23. Apr 04, 2017
  24. Apr 01, 2017
    • Andreas Gampe's avatar
      Sepolicy: Add ASAN-Extract · 0b743050
      Andreas Gampe authored
      Add selinux policies for init script and shell script to unzip a tar
      containing ASAN libraries on boot.
      
      Bug: 36458146
      Test: m && m SANITIZE_TARGET=address
      Test: manual (build steps for tar missing)
      Change-Id: I5c3cb233aae93ee9985431090af902b0e3c1b0a7
      0b743050
  25. Mar 01, 2017
  26. Feb 10, 2017
    • Nick Kralevich's avatar
      Move net.dns* to it's own label. · 4e404290
      Nick Kralevich authored
      Move net.dns* from net_radio_prop to the newly created label
      net_dns_prop. This allows finer grain control over this specific
      property.
      
      Prior to this change, this property was readable to all SELinux domains,
      and writable by the following SELinux domains:
      
        * system_server
        * system_app (apps which run as UID=system)
        * netmgrd
        * radio
      
      This change:
      
      1) Removes read access to this property to everyone EXCEPT untrusted_app
      and system_server.
      2) Limit write access to system_server.
      
      In particular, this change removes read access to priv_apps. Any
      priv_app which ships with the system should not be reading this
      property.
      
      Bug: 34115651
      Test: Device boots, wifi turns on, no problems browsing the internet
      Change-Id: I8a32e98c4f573d634485c4feac91baa35d021d38
      4e404290
  27. Jan 26, 2017
    • Steven Moreland's avatar
      property: add persist.hal.binderization · cd597cd5
      Steven Moreland authored
      - Added set_prop to shell so that you can set it from shell.
      - Added set_prop to sytem_app so that it can be updated in settings.
      
      Bug: 34256441
      Test: can update prop from Settings and shell. nfc and lights work with
      ag/1833821 with persist.hal.binderization set to on and off. There are
      no additional selinux denials.
      Change-Id: I883ca489093c1d56b2efa725c58e6e3f3b81c3aa
      cd597cd5
  28. Dec 28, 2016
    • Alex Klyubin's avatar
      Restrict access to Bluetooth system properties · 6e4508e6
      Alex Klyubin authored
      This removes access to Bluetooth system properties from arbitrary
      SELinux domains. Access remains granted to init, bluetooth, and
      system_app domains. neverallow rules / CTS enforce that access is not
      granted to Zygote and processes spawned from Zygote expcept for
      system_app and bluetooth.
      
      The reason is that some of these properties may leak persistent
      identifiers not resettable by the user.
      
      Test: Bluetooth pairing and data transfer works
      Bug: 33700679
      Change-Id: Icdcb3927a423c4011a62942340a498cc1b302472
      6e4508e6
  29. Dec 27, 2016
    • Alex Klyubin's avatar
      Remove access to ro.runtime.firstboot from apps · 062236a8
      Alex Klyubin authored
      ro.runtime.firstboot system property is only used internally by
      system_server to distinguish between first start after boot from
      consecutive starts (for example, this happens when full-disk
      encryption is enabled). The value of the property is a
      millisecond-precise timestamp which can help track individual
      device. Thus apps should not have access to this property.
      
      Test: Device boots fine, reading ro.runtime.firstboot from an app results in an error and SELinux denial.
      Bug: 33700679
      Change-Id: I4c3c26a35c5dd840bced3a3e53d071f45317f63c
      062236a8
  30. Dec 22, 2016
    • Alex Klyubin's avatar
      Restrict access to ro.serialno and ro.boot.serialno · 20151072
      Alex Klyubin authored
      This restricts access to ro.serialno and ro.boot.serialno, the two
      system properties which contain the device's serial number, to a
      select few SELinux domains which need the access. In particular, this
      removes access to these properties from Android apps. Apps can access
      the serial number via the public android.os.Build API. System
      properties are not public API for apps.
      
      The reason for the restriction is that serial number is a globally
      unique identifier which cannot be reset by the user. Thus, it can be
      used as a super-cookie by apps. Apps need to wean themselves off of
      identifiers not resettable by the user.
      
      Test: Set up fresh GMS device, install some apps via Play, update some apps, use Chrome
      Test: Access the device via ADB (ADBD exposes serial number)
      Test: Enable MTP over USB, use mtp-detect to confirm that serial number is reported in MTP DeviceInfo
      Bug: 31402365
      Bug: 33700679
      Change-Id: I4713133b8d78dbc63d8272503e80cd2ffd63a2a7
      20151072
  31. 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
  32. Nov 11, 2016
  33. Nov 10, 2016
    • Jason Monk's avatar
      Add persist.vendor.overlay. to properties · 0e1cbf56
      Jason Monk authored
      Allow the system_server to change. Allow the zygote to read it as well.
      
      Test: Have system_server set a property
      Change-Id: Ie90eec8b733fa7193861026a3a6e0fb0ba5d5318
      0e1cbf56
  34. Oct 06, 2016
    • dcashman's avatar
      Split general policy into public and private components. · cc39f637
      dcashman authored
      Divide policy into public and private components.  This is the first
      step in splitting the policy creation for platform and non-platform
      policies.  The policy in the public directory will be exported for use
      in non-platform policy creation.  Backwards compatibility with it will
      be achieved by converting the exported policy into attribute-based
      policy when included as part of the non-platform policy and a mapping
      file will be maintained to be included with the platform policy that
      maps exported attributes of previous versions to the current platform
      version.
      
      Eventually we would like to create a clear interface between the
      platform and non-platform device components so that the exported policy,
      and the need for attributes is minimal.  For now, almost all types and
      avrules are left in public.
      
      Test: Tested by building policy and running on device.
      
      Change-Id: Idef796c9ec169259787c3f9d8f423edf4ce27f8c
      cc39f637
  35. Sep 26, 2016
  36. Sep 21, 2016
    • Felipe Leme's avatar
      Let system_server writes to dumpstate.options property. · a5a8072f
      Felipe Leme authored
      Currently, we define 4 hardcoded init services to launch dumpstate with
      different command-line options (since dumpstate must be launched by
      root):
      
      - bugreport
      - bugreportplus
      - bugreportwear
      - bugreportremote
      
      This approach does not scale well; a better option is to have just one
      service, and let the framework pass the extra arguments through a system
      property.
      
      BUG: 31649719
      Test: manual
      
      Change-Id: I7ebbb7ce6a0fd3588baca6fd76653f87367ed0e5
      a5a8072f
  37. Sep 12, 2016
Loading