Skip to content
Snippets Groups Projects
  1. Mar 14, 2017
    • Jeff Vander Stoep's avatar
      Restrict HAL network access to HALS that manage network hardware · f9be765d
      Jeff Vander Stoep authored
      Only HALs that manage networks need network capabilities and network
      sockets.
      
      Test: aosp_marlin and aosp_bullhead policy builds. Note: neverallow
            rules are compile time assertions and do not change the
            on-device policy.
      Bug: 36185625
      
      Change-Id: Id64846eac24cf72ed91ce775cecb2c75f11b78df
      f9be765d
  2. Mar 13, 2017
    • Josh Gao's avatar
      Allow writing to tombstone files in crash_dump_fallback. · a10008c7
      Josh Gao authored
      Allows the following denials:
           avc: denied { use } for pid=9099 comm="mediacodec" path="/data/tombstones/tombstone_08" dev="sda35" ino=877473 scontext=u:r:mediacodec:s0 tcontext=u:r:tombstoned:s0 tclass=fd permissive=1
           avc: denied { append } for pid=9099 comm="mediacodec" path="/data/tombstones/tombstone_08" dev="sda35" ino=877473 scontext=u:r:mediacodec:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=file permissive=1
      
      Bug: http://b/36156624
      Test: killall -ABRT media.codec
      Test: killall -ABRT media.extractor
      Change-Id: I3dde1879b44e3e63c747a3ff8dd4bf213cb8afb6
      a10008c7
  3. Mar 09, 2017
    • Mikhail Naganov's avatar
      hal_audio: Allow writing dump info into pipes · d7c88ddf
      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: 36074936
      Test: check contents of 'adb shell dumpsys media.audio_flinger'
            on -userdebug builds
      
      Change-Id: Ie2bec95c6b73c6f10941e2b0a95a25d6a7a6e4c1
      d7c88ddf
  4. Mar 07, 2017
    • Josh Gao's avatar
      Allow fallback crash dumping for seccomped processes. · 12b4750f
      Josh Gao authored
      Let mediacodec and mediaextractor talk directly to tombstoned to
      generate tombstones/ANR traces.
      
      Bug: http://b/35858739
      Test: debuggerd -b `pidof media.codec`
      Change-Id: I091be946d58907c5aa7a2fe23995597638adc896
      12b4750f
    • Yabin Cui's avatar
      Make /proc/sys/kernel/perf_event_max_sample_rate accessible to untrusted_app. · 5b15baeb
      Yabin Cui authored
      perf_event_max_sample_rate is needed to be read for native profiling,
      otherwise CTS test can fail on devices with kernel >= 4.4. Before this CL,
      the file is not readable from untrusted_app domain. This CL makes it readable
      from both shell domain and untrusted_app domain.
      
      Bug: http://b/35554543
      Test: build and test on marlin.
      Change-Id: Id118e06e3c800b70a749ab112e07a4ec24bb5975
      5b15baeb
    • Calin Juravle's avatar
      SElinux: Clean up code related to foreign dex use · 2b291121
      Calin Juravle authored
      We simplified the way we track whether or not a dex file is used by
      other apps. DexManager in the framework keeps track of the data and we
      no longer need file markers on disk.
      
      Test: device boots, foreign dex markers are not created anymore
      
      Bug: 32871170
      Change-Id: I464ed6b09439cf0342020ee07596f9aa8ae53b62
      2b291121
    • Roshan Pius's avatar
      sepolicy: Make wpa_supplicant a HIDL service · a976e64d
      Roshan Pius authored
      Note: The existing rules allowing socket communication will be removed
      once we  migrate over to HIDL completely.
      
      (cherry-pick of 2a9595ed) 
      Bug: 34603782
      Test: Able to connect to wifi networks.
      Test: Will be sending for full wifi integration tests
      (go/wifi-test-request)
      Change-Id: I9ee238fd0017ec330f6eb67ef9049211f7bd4615
      a976e64d
  5. Mar 06, 2017
  6. Mar 05, 2017
    • Yin-Chia Yeh's avatar
      Camera: hal_camera FD access update · 6824dfd7
      Yin-Chia Yeh authored
      Add FD accessing rules related to media,gralloc and ashmem.
      Also move a few rules to where they belong.
      
      Change-Id: I0bff6f86665a8a049bd767486275740fa369da3d
      6824dfd7
    • Nick Kralevich's avatar
      Remove execmod support for newer API versions · 38d3eca0
      Nick Kralevich authored
      Drop support for execmod (aka text relocations) for newer API versions.
      Retain it for older app APIs versions.
      
      Bug: 30146890
      Bug: 20013628
      Bug: 35323421
      Test: policy compiles.
      Change-Id: Ie54fdb385e9c4bb997ad6fcb6cff74f7e32927bb
      38d3eca0
  7. Mar 04, 2017
    • Wei Wang's avatar
      init.te: grant sysfs_type debugfs_type · 6cd8c9be
      Wei Wang authored
      Fix restorecon failue on second call
      
      Bug: 35803475
      Test: angler boot with UART on and set sys.wifitracing.started to 0 after boot
      Change-Id: Ia5496fcba031616297fa0a4c0f45e3ece0b4d662
      6cd8c9be
  8. Mar 03, 2017
    • Nick Kralevich's avatar
      Label /proc/misc · 50bb7b5a
      Nick Kralevich authored
      Label /proc/misc and allow access to untrusted_apps targeting older API
      versions, as well as update_engine_common.
      
      /proc/misc is used by some banking apps to try to detect if they are
      running in an emulated environment.
      
      TODO: Remove access to proc:file from update_engine_common after more
      testing.
      
      Bug: 35917228
      Test: Device boots and no new denials.
      Change-Id: If1b97a9c55a74cb74d1bb15137201ffb95b5bd75
      50bb7b5a
    • Jeff Vander Stoep's avatar
      domain: Allow stat on symlinks in vendor · 05d83dd4
      Jeff Vander Stoep authored
      Addresses:
      denied { getattr } for pid=155 comm="keystore" path="/vendor"
      dev="mmcblk0p6" ino=1527 scontext=u:r:keystore:s0
      tcontext=u:object_r:system_file:s0 tclass=lnk_file
      
      On devices without an actual vendor image, /vendor is a symlink to
      /system/vendor. When loading a library from this symlinked vendor,
      the linker uses resolve_paths() resulting in an lstat(). This
      generates an selinux denial. Allow this lstat() so that paths can
      be resolved on devices without a real vendor image.
      
      Bug: 35946056
      Test: sailfish builds
      Change-Id: Ifae11bc7039047e2ac2b7eb4fbcce8ac4580799f
      05d83dd4
    • Roshan Pius's avatar
      sepolicy: Allow hal_wifi to set wlan driver status prop · e62805d7
      Roshan Pius authored
      The new wifi HAL manages the wlan driver and hence needs to be able to
      load/unload the driver. The "wlan.driver.status" is used to indicate the
      state of the driver to the rest of the system. There are .rc scripts for
      example which wait for the state of this property.
      
      Denials:
      03-01 13:31:43.394   476   476 W android.hardwar: type=1400
      audit(0.0:7243): avc: denied { read } for name="u:object_r:wifi_prop:s0"
      dev="tmpfs" ino=10578 scontext=u:r:hal_wifi_default:s0
      tcontext=u:object_r:wifi_prop:s0 tclass=file permissive=0
      03-01 13:31:43.399   476   476 E libc    : Access denied finding
      property "wlan.driver.status"
      
      Bug: 35765841
      Test: Denials no longer seen
      Change-Id: I502494af7140864934038ef51cb0326ba3902c63
      e62805d7
  9. Mar 02, 2017
    • Alex Klyubin's avatar
      Start locking down access to services from ephemeral apps · 6237d8b7
      Alex Klyubin authored
      This starts with the reduction in the number of services that
      ephemeral apps can access. Prior to this commit, ephemeral apps were
      permitted to access most of the service_manager services accessible
      by conventional apps. This commit reduces this set by removing access
      from ephemeral apps to:
      * gatekeeper_service,
      * sec_key_att_app_id_provider_service,
      * wallpaper_service,
      * wifiaware_service,
      * wifip2p_service,
      * wifi_service.
      
      Test: Device boots up fine, Chrome, Play Movies, YouTube, Netflix, work fine.
      Bug: 33349998
      Change-Id: Ie4ff0a77eaca8c8c91efda198686c93c3a2bc4b3
      6237d8b7
    • Hugo Benichi's avatar
      removing obsolete entries for connectivity_metrics_logger · ee0b8cd9
      Hugo Benichi authored
      Test: build, flashed, booted.
      Bug: 32648597
      Change-Id: Ife3d99293c3274ad3a62fb71ae3f799c74e853f4
      ee0b8cd9
  10. Mar 01, 2017
  11. Feb 28, 2017
  12. Feb 27, 2017
    • Sandeep Patil's avatar
      init: enable init to relabel symlinks for system_block_devices · df32f3e8
      Sandeep Patil authored
      
      early mounted block device are created by 'init' in its first stage, so
      the following restorecon() now finds device nodes and their corresponding
      symlinks. The CL adds rule to make sure the block and
      system_block_devices can be relabeled by init in this case.
      
      Bug: 35792677
      Bug: 27805372
      
      Test: tested ota using 'adb sideload' on sailfish
      
      Change-Id: I7d9d89878919c1267bf3c74f0cdbb4367b5ad458
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      df32f3e8
    • Nick Kralevich's avatar
      netd.te: drop dccp_socket support · 5251ad1a
      Nick Kralevich authored
      No SELinux domains can create dccp_socket instances, so it doesn't make
      any sense to allow netd to minipulate already-open dccp sockets.
      
      Bug: 35784697
      Test: policy compiles.
      Change-Id: I189844462cbab58ed58c24fbad6a392f6b035815
      5251ad1a
  13. Feb 24, 2017
    • Alex Deymo's avatar
      update_engine: Allow to tag sockets. · 57b1e913
      Alex Deymo authored
      Bug: 35721166
      Test: Run update_engine_unittest as system user in enforcing mode.
      Change-Id: I9cd63b19e6eed3e1291d36d4c342ecf725407232
      57b1e913
    • Yin-Chia Yeh's avatar
      Camera: allow various FD usage for hal_camera · 2dc4d1cc
      Yin-Chia Yeh authored
      The camera HAL1 will need to pass/receive FD from various
      related processes (app/surfaceflinger/medaiserver)
      
      Change-Id: Ia6a6efdddc6e3e92c71211bd28a83eaf2ebd1948
      2dc4d1cc
    • mukesh agrawal's avatar
      allow WifiService to use tracing on user builds · 723364f1
      mukesh agrawal authored
      Previously, we'd restricted WifiService's use of
      the kernel's tracing feature to just userdebug_or_eng
      builds.
      
      This restriction was in place because the feature
      had not yet been reviewed from a privacy perspective.
      Now that the feature has passed privacy review, enable
      the feature on all builds.
      
      Note that other safeguards remain in place (on all
      builds):
      - The set of events to be monitored is configured by
        init, rather than WifiService (part of system_server).
        This privilege separation prevents a compromised
        system_server from tracing additional information.
      - The trace events are kept only in RAM, until/unless
        WifiService receives a dump request. (This would happen,
        for example, in the case of adb dumpsys, or generating
        a bugreport.)
      
      Bug: 35679234
      Test: manual (see below)
      
      Manual test details:
      - flash device
      - connect device to a wifi network
      $ adb shell dumpsys wifi | grep rdev_connect
        [should see at least one matching line]
      
      Change-Id: I85070054857d75177d0bcdeb9b2c95bfd7e3b6bc
      723364f1
    • Amit Mahajan's avatar
      Move rild to vendor partition. · f7bed71a
      Amit Mahajan authored
      Test: Basic telephony sanity
      Bug: 35672432
      Change-Id: I7d17cc7efda9902013c21d508cefc77baccc06a8
      f7bed71a
  14. Feb 23, 2017
    • Luis Hector Chavez's avatar
      Restrict /proc/sys/vm/mmap_rnd_bits · 64a05038
      Luis Hector Chavez authored
      Label /proc/sys/vm/mmap_rnd_bits so it is only readable and writable by
      init. This also tightens the neverallow restrictions for proc_security.
      
      Bug: 33563834
      Test: run cts -m CtsPermissionTestCases -t \
            android.permission.cts.FileSystemPermissionTest#testProcfsMmapRndBitsExistsAndSane
      
      Change-Id: Ie7af39ddbf23806d4ffa35e7b19d30fec7b6d410
      64a05038
    • Fyodor Kupolov's avatar
      Allow installd to delete from preloads/file_cache · a64b6850
      Fyodor Kupolov authored
      When clearing cache, installd should be able to search for and delete
      files in /data/preloads/file_cache
      
      Test: Manually trigger installd freeCache
      Bug: 31008665
      Change-Id: I4c345cc8b0f7a6a8702a55f4720d21283c9d502a
      a64b6850
    • Alex Klyubin's avatar
      Switch Keymaster HAL policy to _client/_server · f7543d27
      Alex Klyubin authored
      This switches Keymaster HAL policy to the design which enables us to
      conditionally remove unnecessary rules from domains which are clients
      of Keymaster HAL.
      
      Domains which are clients of Keymaster HAL, such as keystore and vold
      domains, are granted rules targeting hal_keymaster only when the
      Keymaster HAL runs in passthrough mode (i.e., inside the client's
      process). When the HAL runs in binderized mode (i.e., in another
      process/domain, with clients talking to the HAL over HwBinder IPC),
      rules targeting hal_keymaster are not granted to client domains.
      
      Domains which offer a binderized implementation of Keymaster HAL, such
      as hal_keymaster_default domain, are always granted rules targeting
      hal_keymaster.
      
      Test: Password-protected sailfish boots up and lock screen unlocks --
            this exercises vold -> Keymaster HAL interaction
      Test: All Android Keystore CTS tests pass -- this exercises keystore ->
            Keymaster HAL interaction:
            make cts cts-tradefed
            cts-tradefed run singleCommand cts --skip-device-info \
            --skip-preconditions --skip-connectivity-check --abi arm64-v8a \
            --module CtsKeystoreTestCases
      Bug: 34170079
      
      Change-Id: I2254d0fdee72145721654d6c9e6e8d3331920ec7
      f7543d27
  15. Feb 22, 2017
    • Alex Klyubin's avatar
      Switch Wi-Fi HAL policy to _client/_server · 1d2a1476
      Alex Klyubin authored
      This switches Wi-Fi HAL policy to the design which enables us to
      conditionally remove unnecessary rules from domains which are clients
      of Wi-Fi HAL.
      
      Domains which are clients of Wi-Fi HAL, such as system_server domain,
      are granted rules targeting hal_wifi only when the Wi-Fi HAL runs in
      passthrough mode (i.e., inside the client's process). When the HAL
      runs in binderized mode (i.e., in another process/domain, with clients
      talking to the HAL over HwBinder IPC), rules targeting hal_wifi are
      not granted to client domains.
      
      Domains which offer a binderized implementation of Wi-Fi HAL, such as
      hal_wifi_default domain, are always granted rules targeting hal_wifi.
      
      Test: Setup Wizard (incl. adding a Google Account) completes fine with
            Wi-Fi connectivity only
      Test: Toggle Wi-Fi off, on, off, on
      Test: Use System UI to see list of WLANs and connect to one which does
            not require a password, and to one which requries a PSK
      Test: ip6.me loads fine in Chrome over Wi-Fi
      Bug: 34170079
      
      Change-Id: I7a216a06727c88b7f2c23d529f67307e83bed17f
      1d2a1476
    • Jeff Vander Stoep's avatar
      kernel: neverallow dac_{override,read_search} perms · 3927086d
      Jeff Vander Stoep authored
      The kernel should never be accessing files owned by other users.
      
      Disallow this access.
      
      Test: Marlin builds. Neverallow are build time assertions,
      they do not policy on the device.
      
      Change-Id: I6ba2eb27c0e2ecf46974059588508cd3223baceb
      3927086d
    • Myles Watson's avatar
      Allow the Bluetooth HAL to toggle rfkill · 20b8d6b9
      Myles Watson authored
      Bug: 35657600
      Test: user build of Marlin starts with BT
      Change-Id: Ic2380da66467b9b1c385da7d7fa10fddf4c7fae1
      20b8d6b9
    • Mårten Kongstad's avatar
      Add service 'overlay' to service_contexts · e096e5f5
      Mårten Kongstad authored
      
      The 'overlay' service is the Overlay Manager Service, which tracks
      packages and their Runtime Resource Overlay overlay packages.
      
      Change-Id: I897dea6a32c653d31be88a7b3fc56ee4538cf178
      Co-authored-by: default avatarMartin Wallgren <martin.wallgren@sonymobile.com>
      Signed-off-by: default avatarZoran Jovanovic <zoran.jovanovic@sonymobile.com>
      Bug: 31052947
      Test: boot the Android framework
      e096e5f5
    • Alex Klyubin's avatar
      Switch Dumpstate HAL policy to _client/_server · 47174e3b
      Alex Klyubin authored
      This switches Dumpstate HAL policy to the design which enables us to
      conditionally remove unnecessary rules from domains which are clients
      of Dumpstate HAL.
      
      Domains which are clients of Dumpstate HAL, such as dumpstate domain,
      are granted rules targeting hal_dumpstate only when the Dumpstate HAL
      runs in passthrough mode (i.e., inside the client's process). When the
      HAL runs in binderized mode (i.e., in another process/domain, with
      clients talking to the HAL over HwBinder IPC), rules targeting
      hal_dumpstate are not granted to client domains.
      
      Domains which offer a binderized implementation of Dumpstate HAL, such
      as hal_dumpstate_default domain, are always granted rules targeting
      hal_dumpstate.
      
      Test: adb bugreport
      Test: Take bugreport through system UI
      Bug: 34170079
      Change-Id: I3e827534af03cdfa876921c5fa4af3a53025ba27
      47174e3b
    • Lucas Duffey's avatar
      remove setuid SELinux capability for racoon. · 1625dba9
      Lucas Duffey authored
      
      In the master external/ipsec-tools/{main.c, racoon.rc},
      racoon doesn't call setuid, and doesn't have the setuid capability.
      
      Bug: 35642293
      Signed-off-by: default avatarLucas Duffey <lucas.duffey@invapid.org>
      1625dba9
    • Alex Klyubin's avatar
      Switch Fingerprint HAL policy to _client/_server · f98650e4
      Alex Klyubin authored
      This switches Fingerprint HAL policy to the design which enables us to
      conditionally remove unnecessary rules from domains which are clients
      of Bluetooth HAL.
      
      Domains which are clients of Fingerprint HAL, such as system_server
      domain, are granted rules targeting hal_fingerprint only when the
      Fingerprint HAL runs in passthrough mode (i.e., inside the client's
      process). When the HAL runs in binderized mode (i.e., in another
      process/domain, with clients talking to the HAL over HwBinder IPC),
      rules targeting hal_fingerprint are not granted to client domains.
      
      Domains which offer a binderized implementation of Fingerprint HAL,
      such as hal_fingerprint_default domain, are always granted rules
      targeting hal_fingerprint.
      
      NOTE: This commit also removes unnecessary allow rules from
      Fingerprint HAL, such access to servicemanager (not hwservicemanager)
      and access to keystore daemon over Binder IPC. Fingerprint HAL does
      not use this functionality anyway and shouldn't use it either.
      
      Test: Enable fingerprint + PIN secure lock screen, confirm it unlocks
            with fingerprint or PIN
      Test: Disable PIN (and thus fingerprint) secure lock screen
      Test: make FingerprintDialog, install, make a fake purchase
      Test: Add fingerprint_hidl_hal_test to device.mk, build & add to device,
            adb shell stop,
            adb shell /data/nativetest64/fingerprint_hidl_hal_test/fingerprint_hidl_hal_test -- all tests pass
      Bug: 34170079
      
      Change-Id: I6951c0f0640194c743ff7049357c77f5f21b71a1
      f98650e4
  16. Feb 21, 2017
    • Yin-Chia Yeh's avatar
      Camera: allow appdomain FD use for hal_camera · 2eca9e4a
      Yin-Chia Yeh authored
      The preview surface will run in app process and hal_camera will
      need to wait on FD generated by preview surface.
      
      Test: the denial is gone, able to take photo in
            messenger/hangout/drive application.
      Bug: 35589980
      Bug: 35485227
      Change-Id: I1977174369b104617156065ff25203a17265b707
      2eca9e4a
    • Chad Brubaker's avatar
      Add new untrusted_v2_app domain · a782a816
      Chad Brubaker authored
      untrusted_v2_app is basically a refinement of untrusted_app with legacy
      capabilities removed and potentially backwards incompatible changes.
      
      This is not currently hooked up to anything.
      
      Bug: 33350220
      Test: builds
      Change-Id: Ic9fad57476bc2b6022b1eaca8667bf6d844753c2
      a782a816
    • Alex Klyubin's avatar
      Remove hal_impl_domain deprecation warning · 205ec044
      Alex Klyubin authored
      This removes the compile-time deprecation warning about
      hal_impl_domain macro. The warning was introduced in
      86e87806f5777a7fc09ea962e694442297e4f8d6. We don't want to spam all
      Android platform developers about something internal to the ongoing
      SELinux policy restructuring.
      
      Test: Policy compiles without any warnings
      Test: Google Play Movies plays back movies (i.e., DRM HAL works)
      Bug: 34170079
      Change-Id: Icbd4d1283196f7ccc84c2a041c5601113d3c9f21
      205ec044
Loading