Skip to content
Snippets Groups Projects
  1. Apr 13, 2018
    • Jaekyun Seok's avatar
      Whitelist vendor-init-settable bluetooth_prop and wifi_prop · a11b16c9
      Jaekyun Seok authored
      Values of the following properties are set by SoC vendors on some
      devices including Pixels.
      - persist.bluetooth.a2dp_offload.cap
      - persist.bluetooth.a2dp_offload.enable
      - persist.vendor.bluetooth.a2dp_offload.enable
      - ro.bt.bdaddr_path
      - wlan.driver.status
      
      So they should be whitelisted for compatibility.
      
      Bug: 77633703
      Test: succeeded building and tested with Pixels
      Change-Id: Ib2b81bcc1fd70ddd571dc7fb2b923b576d62b7d5
      Merged-In: Ib2b81bcc1fd70ddd571dc7fb2b923b576d62b7d5
      (cherry picked from commit 224921d1)
      a11b16c9
  2. Mar 22, 2018
    • Jong Wook Kim's avatar
      Wifi HAL SIOCSIFHWADDR sepolicy · d6d16489
      Jong Wook Kim authored
      Add sepolicy rule to grant Wifi HAL permission to use SIOCSIFHWADDR
      ioctl. This permission is needed to dynamically change MAC address of
      the device.
      
      We are moving the implementation of setting the MAC address from
      WifiCond to Vendor HAL to give vendors flexibility in supporting
      Connected MAC Randomization. Will clean up WifiCond sepolicy afterwards.
      
      Bug: 74347653
      Test: Verified manually
      Change-Id: I334cefddf385ecb1ee169eb692c4e0060c26d6d9
      d6d16489
  3. Dec 18, 2017
    • xshu's avatar
      Wifi hal - Firmware dump permissions · 6ad3c891
      xshu authored
      we are aiming to improve logging performance by having wifi hal
      directly write to the flash.
      
      Wifi hal need to be able to create, write, and delete files in
      a directory. This will be restricted to userdebug and eng builds only.
      
      Bug: 70170285
      Test: compile, run on device
      Change-Id: Id0cd317411f4c393d7529aa31b501046d7350edb
      6ad3c891
  4. Nov 21, 2017
    • Benjamin Gordon's avatar
      sepolicy: Add rules for non-init namespaces · 9b2e0cbe
      Benjamin Gordon authored
      In kernel 4.7, the capability and capability2 classes were split apart
      from cap_userns and cap2_userns (see kernel commit
      8e4ff6f228e4722cac74db716e308d1da33d744f). Since then, Android cannot be
      run in a container with SELinux in enforcing mode.
      
      This change applies the existing capability rules to user namespaces as
      well as the root namespace so that Android running in a container
      behaves the same on pre- and post-4.7 kernels.
      
      This is essentially:
        1. New global_capability_class_set and global_capability2_class_set
           that match capability+cap_userns and capability2+cap2_userns,
           respectively.
        2. s/self:capability/self:global_capability_class_set/g
        3. s/self:capability2/self:global_capability2_class_set/g
        4. Add cap_userns and cap2_userns to the existing capability_class_set
           so that it covers all capabilities.  This set was used by several
           neverallow and dontaudit rules, and I confirmed that the new
           classes are still appropriate.
      
      Test: diff new policy against old and confirm that all new rules add
            only cap_userns or cap2_userns;
            Boot ARC++ on a device with the 4.12 kernel.
      Bug: crbug.com/754831
      
      Change-Id: I4007eb3a2ecd01b062c4c78d9afee71c530df95f
      9b2e0cbe
  5. Jun 13, 2017
  6. Apr 21, 2017
    • Alex Klyubin's avatar
      Restrict access to hwservicemanager · 53656c17
      Alex Klyubin authored
      This adds fine-grained policy about who can register and find which
      HwBinder services in hwservicemanager.
      
      Test: Play movie in Netflix and Google Play Movies
      Test: Play video in YouTube app and YouTube web page
      Test: In Google Camera app, take photo (HDR+ and conventional),
            record video (slow motion and normal), and check that photos
            look fine and videos play back with sound.
      Test: Cast screen to a Google Cast device
      Test: Get location fix in Google Maps
      Test: Make and receive a phone call, check that sound works both ways
            and that disconnecting the call frome either end works fine.
      Test: Run RsHelloCompute RenderScript demo app
      Test: Run fast subset of media CTS tests:
            make and install CtsMediaTestCases.apk
            adb shell am instrument -e size small \
                -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
      Test: Play music using Google Play music
      Test: Adjust screen brightness via the slider in Quick Settings
      Test: adb bugreport
      Test: Enroll in fingerprint screen unlock, unlock screen using
            fingerprint
      Test: Apply OTA update:
            Make some visible change, e.g., rename Settings app.
            make otatools && \
            make dist
            Ensure device has network connectivity
            ota_call.py -s <serial here> --file out/dist/sailfish-ota-*.zip
            Confirm the change is now live on the device
      Bug: 34454312
      (cherry picked from commit 632bc494)
      Merged-In: Iecf74000e6c68f01299667486f3c767912c076d3
      Change-Id: I7a9a487beaf6f30c52ce08e04d415624da49dd31
      53656c17
  7. Apr 20, 2017
    • Alex Klyubin's avatar
      Restrict access to hwservicemanager · 632bc494
      Alex Klyubin authored
      This adds fine-grained policy about who can register and find which
      HwBinder services in hwservicemanager.
      
      Test: Play movie in Netflix and Google Play Movies
      Test: Play video in YouTube app and YouTube web page
      Test: In Google Camera app, take photo (HDR+ and conventional),
            record video (slow motion and normal), and check that photos
            look fine and videos play back with sound.
      Test: Cast screen to a Google Cast device
      Test: Get location fix in Google Maps
      Test: Make and receive a phone call, check that sound works both ways
            and that disconnecting the call frome either end works fine.
      Test: Run RsHelloCompute RenderScript demo app
      Test: Run fast subset of media CTS tests:
            make and install CtsMediaTestCases.apk
            adb shell am instrument -e size small \
                -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
      Test: Play music using Google Play music
      Test: Adjust screen brightness via the slider in Quick Settings
      Test: adb bugreport
      Test: Enroll in fingerprint screen unlock, unlock screen using
            fingerprint
      Test: Apply OTA update:
            Make some visible change, e.g., rename Settings app.
            make otatools && \
            make dist
            Ensure device has network connectivity
            ota_call.py -s <serial here> --file out/dist/sailfish-ota-*.zip
            Confirm the change is now live on the device
      Bug: 34454312
      Change-Id: Iecf74000e6c68f01299667486f3c767912c076d3
      632bc494
  8. Mar 03, 2017
    • 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. 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
  10. Jan 18, 2017
  11. Dec 15, 2016
  12. Dec 14, 2016
  13. Dec 12, 2016
    • 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
  14. Oct 28, 2016
    • Roshan Pius's avatar
      wifi_hal: Rename to 'hal_wifi' · 8224596a
      Roshan Pius authored
      Renaming the wifi HIDL implementation to 'hal_wifi' from 'wifi_hal_legacy'
      to conform with HIDL style guide.
      
      Denials:
      01-01 21:55:23.896  2865  2865 I android.hardware.wifi@1.0-service:
      wifi_hal_legacy is starting up...
      01-01 21:55:23.898  2865  2865 W android.hardware.wifi@1.0-service:
      /odm/lib64/hw/ does not exit.
      01-01 21:55:23.899  2865  2865 F android.hardware.wifi@1.0-service:
      service.cpp:59] Check failed: service->registerAsService("wifi") ==
      android::NO_ERROR (service->registerAsService("wifi")=-2147483646,
      android::NO_ERROR=0) Failed to register wifi HAL
      01-01 21:55:23.899  2865  2865 F libc    : Fatal signal 6 (SIGABRT),
      code -6 in tid 2865 (android.hardwar)
      01-01 21:55:23.901   377   377 W         : debuggerd: handling request:
      pid=2865 uid=2000 gid=2000 tid=2865
      01-01 21:55:23.907  2867  2867 E         : debuggerd: Unable to connect
      to activity manager (connect failed: Connection refused)
      01-01 21:55:23.908  2867  2867 F DEBUG   : *** *** *** *** *** *** ***
      *** *** *** *** *** *** *** *** ***
      01-01 21:55:23.908  2867  2867 F DEBUG   : Build fingerprint:
      'Android/aosp_angler/angler:7.0/NYC/rpius10031052:userdebug/test-keys'
      01-01 21:55:23.908  2867  2867 F DEBUG   : Revision: '0'
      01-01 21:55:23.908  2867  2867 F DEBUG   : ABI: 'arm64'
      01-01 21:55:23.908  2867  2867 F DEBUG   : pid: 2865, tid: 2865, name:
      android.hardwar  >>> /system/bin/hw/android.hardware.wifi@1.0-service
      <<<
      01-01 21:55:23.909  2867  2867 F DEBUG   : signal 6 (SIGABRT), code -6
      (SI_TKILL), fault addr --------
      01-01 21:55:23.910  2867  2867 F DEBUG   : Abort message:
      'service.cpp:59] Check failed: service->registerAsService("wifi") ==
      android::NO_ERROR (service->registerAsService("wifi")=-2147483646,
      android::NO_ERROR=0) Failed to register wifi HAL'
      
      Bug: 31821133
      Test: Compiled and ensured that the selinux denials are no longer
      present in logs.
      Change-Id: I5bbbcad307e9bb9e59fff87e2926751b3aecc813
      8224596a
Loading