Skip to content
Snippets Groups Projects
  1. Apr 09, 2018
    • Max Bires's avatar
      Adding labeling for vendor security patch prop · 5cac1aa9
      Max Bires authored
      This will allow adb shell getprop ro.vendor.build.security_patch to
      properly return the correct build property, whereas previously it was
      offlimits due to lack of label.
      
      Test: adb shell getprop ro.vendor.build.security_patch successfully
      returns whatever VENDOR_SECURITY_PATCH is defined to be in the Android
      .mk files
      
      Change-Id: Ie8427738125fc7f909ad8d51e4b76558f5544d49
      5cac1aa9
  2. Apr 03, 2018
    • Jeff Vander Stoep's avatar
      Add untrusted_app_27 · 3aa7ca56
      Jeff Vander Stoep authored
      This is a partial cherry pick of commit 6231b4d9
      'Enforce per-app data protections for targetSdk 28+'.
      
      Untrusted_app_27 remains unreachable, but it's existence
      prevents future merge conflicts.
      
      Bug: 63897054
      Test: build/boot aosp_walleye-userdebug
      Change-Id: I64b013874fe87b55f47e817a1279e76ecf86b7c0
      Merged-In: I64b013874fe87b55f47e817a1279e76ecf86b7c0
      (cherry picked from commit 6231b4d9)
      3aa7ca56
  3. Mar 29, 2018
  4. Mar 28, 2018
    • Jaekyun Seok's avatar
      Allow vendor-init-settable to persist.radio.multisim.config · 7d3bd8db
      Jaekyun Seok authored
      A default value of persist.radio.multisim.config can be set by SoC
      vendors, and so vendor-init-settable should be allowed to it.
      
      Bug: 73871799
      Test: succeeded building and tested with taimen
      Change-Id: Ie62b91e7e3d7e05425b742838417f1cab7b3fed4
      Merged-In: Ie62b91e7e3d7e05425b742838417f1cab7b3fed4
      (cherry picked from commit ac8c6e3d)
      7d3bd8db
  5. Mar 27, 2018
    • Jaekyun Seok's avatar
      Allow vendor-init-settable to persist.radio.multisim.config · ac8c6e3d
      Jaekyun Seok authored
      A default value of persist.radio.multisim.config can be set by SoC
      vendors, and so vendor-init-settable should be allowed to it.
      
      Bug: 73871799
      Test: succeeded building and tested with taimen
      Change-Id: Ie62b91e7e3d7e05425b742838417f1cab7b3fed4
      ac8c6e3d
  6. Mar 26, 2018
    • Primiano Tucci's avatar
      Revert "Allow system server to set persist.traced.enable" · 4f673cf4
      Primiano Tucci authored
      This reverts commit 6f2040f8.
      
      Reason for revert: not needed anymore after ag/3773705
      This was meant to allow system_server toggling the property on/off.
      Later we realized that we needed a separate property for that 
      (see discussion in b/76077784) and system server happens to
      have already permissions to write to sys.* properties even without
      this CL.
      Reverting because at this point this creates just unnecessary clutter.
      
      Change-Id: Ia73d000aad3c4288a5652047dfe10896e231b0b1
      Test: perfetto_integrationtests
      Bug: 76077784
      4f673cf4
  7. Mar 22, 2018
    • Primiano Tucci's avatar
      Reland: perfetto: allow traced_probes to execute atrace · f3fd4d6b
      Primiano Tucci authored
      This CL adds the SELinux permissions required to execute
      atrace and get userspace tracing events from system services.
      This is to enable tracing of events coming from surfaceflinger,
      audio HAL, etc.
      atrace, when executed, sets a bunch of debug.atrace. properties
      and sends an IPC via binder/hwbinder to tell the services to
      reload that property.
      
      This CL does NOT affect systrace. In that case (i.e. when
      atrace is executed from adb/shell) atrace still runs in
      the shell domain and none of those changes apply.
      
      Change-Id: I11b096d5c5c5593f18bce87f06c1a7b1ffa7910e
      Merged-In: I11b096d5c5c5593f18bce87f06c1a7b1ffa7910e
      Merged-In: Iba195d571aec9579195d79d4970f760e417608c6
      Bug: b/73340039
      f3fd4d6b
    • Primiano Tucci's avatar
      Fix selinux brekage on user for atrace · 68240241
      Primiano Tucci authored
      Follow up to aosp/635599. It broke user builds again
      despite being tree hugged because of b/74344625.
      Adding missing ignore entries.
      
      Bug: b/73340039
      Change-Id: Iba195d571aec9579195d79d4970f760e417608c6
      68240241
  8. Mar 21, 2018
  9. Mar 20, 2018
  10. Mar 19, 2018
    • Hector Dearman's avatar
      Allow system server to set persist.traced.enable · 6f2040f8
      Hector Dearman authored
      To enable/disable the traced and traced_probes deamons remotely we would
      like system server to be able to set persist.traced.enable.
      See also ag/3736001.
      
      Denial:
      selinux: avc: denied { set } for
      property=persist.traced.enable
      pid=1606 uid=1000 gid=1000
      scontext=u:r:system_server:s0
      tcontext=u:object_r:default_prop:s0 tclass=property_service
      permissive=0\x0a
      
      Run:
      $ adb shell 'ps -A | grep traced'
      Should see traced.
      $ adb shell 'settings put global sys_traced 0'
      $ adb shell 'ps -A | grep traced'
      Should no longer see traced.
      
      Test: See above.
      Change-Id: I245b7df3853cabeb0e75db41fb4facaa178ab8f1
      6f2040f8
  11. Mar 18, 2018
  12. Mar 16, 2018
  13. Mar 07, 2018
    • Ruchi Kandoi's avatar
      Add secure_element_device · e0e2342e
      Ruchi Kandoi authored
      Test: eSE initializes at boot
      Bug: 64881253
      Change-Id: Ib2388b7368c790c402c000adddf1488bee492cce
      (cherry picked from commit ea3cf000)
      e0e2342e
    • Ruchi Kandoi's avatar
      Add secure_element_device · ea3cf000
      Ruchi Kandoi authored
      Test: eSE initializes at boot
      Bug: 64881253
      Change-Id: Ib2388b7368c790c402c000adddf1488bee492cce
      ea3cf000
    • Kenny Root's avatar
      Add ADB system service · 0b79a179
      Kenny Root authored
      ADB is being separated from USB service since it's not tied to the USB
      transport. This duplicates the usb_service's settings to adb_service for
      this purpose.
      
      Bug: 63820489
      Test: make
      Change-Id: Idbcfbe470d7568f9cba51f0c8d4a8ee9503db93d
      0b79a179
  14. Feb 05, 2018
  15. Feb 01, 2018
  16. Jan 29, 2018
    • Ruchi Kandoi's avatar
      SE Policy for Secure Element app and Secure Element HAL · 8a2b4a78
      Ruchi Kandoi authored
      Test: App startup on boot
      Change-Id: I7740aafc088aadf676328e3f1bb8db5175d97102
      8a2b4a78
    • Primiano Tucci's avatar
      SELinux policies for Perfetto cmdline client (/system/bin/perfetto) · 1a9f4f7a
      Primiano Tucci authored
      Instead of having statsd linking the perfetto client library
      and talk directly to its socket, we let just statsd exec()
      the /system/bin/perfetto cmdline client.
      
      There are two reasons for this:
      1) Simplify the interaction between statsd and perfetto, reduce
        dependencies, binary size bloat and isolate faults.
      2) The cmdline client also takes care of handing the trace to
        Dropbox. This allows to expose the binder interaction surface
        to the short-lived cmdline client and avoid to grant binder
        access to the perfetto traced daemon.
      
      This cmdline client will be used by:
       - statsd
       - the shell user (for our UI and Studio)
      
      Bug: 70942310
      Change-Id: I8cdde181481ad0a1a5cae5937ac446cedac54a1f
      1a9f4f7a
  17. Jan 24, 2018
  18. Jan 23, 2018
    • Andreas Huber's avatar
      Fingerprint data is now stored in one of two ways depending on the · 6116daa7
      Andreas Huber authored
      shipping API version:
      
      For devices shipped before Android P nothing changes, data is stored
      under /data/system/users/<user-id>/fpdata/...
      
      Devices shipped from now on will instead store fingerprint data under
      /data/vendor_de/<user-id>/fpdata.
      
      Support for /data/vendor_de and /data/vendor_ce has been added to vold.
      
      Bug: 36997597
      Change-Id: Ibc7cc33b756f64abe68a749c0ada0ca4f6d92514
      Test: manually
      6116daa7
    • Dongwon Kang's avatar
      Allow mediaextractor to load libraries from apk_data_file · 1134bd00
      Dongwon Kang authored
      This is an experimental feature only on userdebug and eng build.
      
      Test: play MP4 file. install & uninstall media update apk.
      Bug: 67908547
      Change-Id: I513cdbfda962f00079e886b7a42f9928e81f6474
      1134bd00
    • Yi Jin's avatar
      Selinux permissions for incidentd project · bc24ba72
      Yi Jin authored
      Bug: 64222712
      Test: manual
      Change-Id: Ica77ae3c9e535eddac9fccf11710b0bcb3254ab3
      bc24ba72
  19. Jan 22, 2018
    • Max Bires's avatar
      Adding write permissions to traceur · 35c36389
      Max Bires authored
      Fixing denials that stopped traceur from being able to write to
      debugfs_tracing. Also cleaning up general find denials for services that
      traceur doesn't have permission to access.
      
      Additionally, labeling /data/local/trace as a trace_data_file in order
      to give traceur a UX friendly area to write its traces to now that it
      will no longer be a shell user. It will be write/readable by traceur,
      and deletable/readable by shell.
      
      Test: Traceur functionality is not being blocked by selinux policy
      Bug: 68126425
      Change-Id: I201c82975a31094102e90bc81454d3c2a48fae36
      35c36389
    • Steven Moreland's avatar
      Add policy for 'blank_screen'. · 8bda3dfa
      Steven Moreland authored
      This util allows init to turn off the screen
      without any binder dependencies.
      
      Bug: 70846424
      Test: manual + init use
      Change-Id: I4f41a966d6398e959ea6baf36c2cfe6fcebc00de
      8bda3dfa
  20. Jan 20, 2018
    • Badhri Jagan Sridharan's avatar
      usbd sepolicy · 4f6eb37f
      Badhri Jagan Sridharan authored
      Sepolicy for the usb daemon. (ag/3373886/)
      
      Bug: 63669128
      Test: Checked for avc denial messages.
      Change-Id: I6e2a4ccf597750c47e1ea90c4d43581de4afa4af
      4f6eb37f
  21. Jan 19, 2018
    • Tao Bao's avatar
      Add rules for system_update service. · d7d9cfca
      Tao Bao authored
      system_update service manages system update information: system updater
      (priv_app) publishes the pending system update info through the service,
      while other apps can read the info accordingly (design doc in
      go/pi-ota-platform-api).
      
      This CL adds the service type, and grants priv_app to access the service.
      
      Bug: 67437079
      Test: Build and flash marlin image. The system_update service works.
      Change-Id: I7a3eaee3ecd3e2e16b410413e917ec603566b375
      d7d9cfca
    • Badhri Jagan Sridharan's avatar
      hal_usb_gadget sepolicy · 7bee33e6
      Badhri Jagan Sridharan authored
      Bug: 63669128
      Test: Checked for avc denail messages.
      Change-Id: I057b3cf9ccc945cb943b9cf60fc9cd6c023eddda
      Merged-In: I057b3cf9ccc945cb943b9cf60fc9cd6c023eddda
      7bee33e6
    • Badhri Jagan Sridharan's avatar
      hal_usb_gadget sepolicy · 9b078894
      Badhri Jagan Sridharan authored
      Bug: 63669128
      Test: Checked for avc denail messages.
      Change-Id: I057b3cf9ccc945cb943b9cf60fc9cd6c023eddda
      9b078894
  22. Jan 18, 2018
    • Jeff Vander Stoep's avatar
      Enforce per-app data protections for targetSdk 28+ · 6231b4d9
      Jeff Vander Stoep authored
      Adds per-app categories to untrusted app domains and their
      app data types. Per-app categories are in addition to the
      existing per-user categories.
      
      Apps targeting sdk version 28+ will now have the following
      characteristics:
      Domain: u:r:untrusted_app:s0:c[0-9]+,c[0-9]+,c[0-9],c[0-9]
      Data context: u:object_r:app_data_file:s0:c[0-9]+,c[0-9]+,c[0-9],c[0-9]
      
      Whereas apps targeting 27- will look like:
      Domain: u:r:untrusted_app_27:s0:c[0-9]+,c[0-9]+
      Data context: u:object_r:app_data_file:s0:c[0-9]+,c[0-9]+
      
      To ensure backwards compatibility with previous SDK versions,
      the levelFrom=all now enforces categories by dominance instead of
      equality. Apps with per-app and per-user categories will continue
      to have selinux permissions (but not necessarily unix permissions)
      to access app data with only per-user categories, but apps with only
      per-user categories will not be able to access the data of apps with
      both per-app and per-user categories.
      
      Bug: 63897054
      Test: Boot sailfish, run apps, verify no new selinux denials.
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdkCurrentTestCases
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdk27TestCases
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdk25TestCases
      Test: adb sideload an OTA and verify that files are correctly labeled.
      Change-Id: I64b013874fe87b55f47e817a1279e76ecf86b7c0
      6231b4d9
  23. Jan 17, 2018
    • Chenbo Feng's avatar
      Add sepolicy to lock down bpf access · 566411ed
      Chenbo Feng authored
      Add a new set of sepolicy for the process that only netd use to load
      and run ebpf programs. It is the only process that can load eBPF
      programs into the kernel and is only used to do that. Add some
      neverallow rules regarding which processes have access to bpf objects.
      
      Test: program successfully loaded and pinned at sys/fs/bpf after device
      boot. No selinux violation for bpfloader
      Bug: 30950746
      
      Change-Id: Ia6bb1afda29ae0749bdc368e2dfc5faa12e81b2f
      566411ed
  24. Jan 16, 2018
  25. Jan 12, 2018
    • Roshan Pius's avatar
      sepolicy(hostapd): Add a HIDL interface for hostapd · 5bca3e86
      Roshan Pius authored
      Change sepolicy permissions to now classify hostapd as a HAL exposing
      HIDL interface.
      
      Sepolicy denial for accessing /data/vendor/misc/wifi/hostapd:
      12-27 23:40:55.913  4952  4952 W hostapd : type=1400 audit(0.0:19): avc:
      denied { write } for name="hostapd" dev="sda13" ino=4587601
      scontext=u:r:hal_wifi_hostapd_default:s0
      tcontext=u:object_r:system_data_file:s0 tclass=dir permissive=0
      
      01-02 19:07:16.938  5791  5791 W hostapd : type=1400 audit(0.0:31): avc:
      denied { search } for name="net" dev="sysfs" ino=30521
      scontext=u:r:hal_wifi_hostapd_default:s0
      tcontext=u:object_r:sysfs_net:s0 tclass=dir permissive=0
      
      Bug: 36646171
      Test: Device boots up and able to turn on SoftAp.
      Change-Id: Ibacfcc938deab40096b54b8d0e608d53ca91b947
      5bca3e86
  26. Jan 10, 2018
    • Andrew Scull's avatar
      authsecret HAL policies. · 1aedf4b5
      Andrew Scull authored
      Bug: 71527305
      Test: compile and boot
      Change-Id: I91097bd62d99b8dd9eb6f53060badbaf0f4b8b4a
      1aedf4b5
    • 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
    • Primiano Tucci's avatar
      Perfetto SELinux policies · c80f9e03
      Primiano Tucci authored
      Perfetto is a performance instrumentation and logging framework,
      living in AOSP's /external/pefetto.
      Perfetto introduces in the system one binary and two daemons
      (the binary can specialize in either depending on the cmdline).
      
      1) traced: unprivileged daemon. This is architecturally similar to logd.
         It exposes two UNIX sockets:
         - /dev/socket/traced_producer : world-accessible, allows to stream
           tracing data. A tmpfs file descriptor is sent via SCM_RIGHTS
           from traced to each client process, which needs to be able to
           mmap it R/W (but not X)
         - /dev/socket/traced_consumer : privilege-accessible (only from:
           shell, statsd). It allows to configure tracing and read the trace
           buffer.
      2) traced_probes: privileged daemon. This needs to:
         - access tracingfs (/d/tracing) to turn tracing on and off.
         - exec atrace
         - connect to traced_producer to stream data to traced.
      
      init.rc file:
      https://android-review.googlesource.com/c/platform/external/perfetto/+/575382/14/perfetto.rc
      
      Bug: 70942310
      Change-Id: Ia3b5fdacbd5a8e6e23b82f1d6fabfa07e4abc405
      c80f9e03
  27. Jan 02, 2018
    • Max Bires's avatar
      Adding a traceur_app domain to remove it from shell · 4ea5569f
      Max Bires authored
      This CL creates a traceur_app domain with userdebug privileges akin to
      what shell has with regards to being able to find most services on
      device. Previously, traceur was running as shell which was an
      unintentional abuse of selinux architecture.
      
      Bug: 68126425
      Test: Traceur functions outside of shell user privilege
      Change-Id: Ib5090e7e8225ad201b3ec24b506fe2717101d0f1
      4ea5569f
    • Chenbo Feng's avatar
      sepolicy: Allow mount cgroupv2 and bpf fs · 254ad0da
      Chenbo Feng authored
      Some necessary sepolicy rule changes for init process to create directory,
      mount cgroupv2 module and mount bpf filesystem. Also allow netd to create
      and pin bpf object as files and read it back from file under the
      directory where bpf filesystem is mounted.
      
      Test: bpf maps show up under /sys/fs/bpf/
      Change-Id: I579d04f60d7e20bd800d970cd28cd39fda9d20a0
      254ad0da
Loading