Skip to content
Snippets Groups Projects
  1. Oct 26, 2016
  2. Oct 25, 2016
  3. Oct 21, 2016
  4. Oct 19, 2016
    • Prashant Malani's avatar
      Cleanup and renaming of vibrator HAL sepolicy · 2d9d3e6d
      Prashant Malani authored
      Renaming vibrator sepolicy to remove the version number.
      Also moving the related binder_call() to maintain alphabetical order.
      
      Bug: 32123421
      Change-Id: I2bfa835085519ed10f61ddf74e7e668dd12bda04
      Test: booted, and checked vibrate on keypress on bullhead
      2d9d3e6d
  5. Oct 18, 2016
    • Prashant Malani's avatar
      Add sysfs rule for vibrator in system_server · c86eb96f
      Prashant Malani authored
      Helps fix vibrator HAL open issue
      
      avc: denied { write } for pid=907 comm="system_server" name="enable" dev="sysfs" ino=20423 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_vibrator:s0 tclass=file permissive=0
      
      Bug: 32209928
      Bug: 32225232
      
      Test: m, booted, tested keypad to make sure vibrator works
      Change-Id: I4977c42b7fac0c9503be04b6520487f2d6cbc903
      c86eb96f
  6. Oct 13, 2016
    • Prashant Malani's avatar
      sepolicy: Add policy for vibrator HIDL service · b32b4a11
      Prashant Malani authored
      Fixes the following denials:
      avc: denied { open } for pid=7530 comm="android.hardwar" path="/sys/devices/virtual/timed_output/vibrator/enable" dev="sysfs" ino=20519 scontext=u:r:android_hardware_vibrator_1_0_service:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
      avc: denied { call } for pid=9173 comm="Binder:7735_C" scontext=u:r:system_server:s0 tcontext=u:r:android_hardware_vibrator_1_0_service:s0 tclass=binder permissive=1
      
      Test: m
      Bug: 32021191
      Change-Id: I243a86b449794e3c2f0abf91ddcf405eff548d0c
      b32b4a11
  7. Oct 07, 2016
  8. Oct 06, 2016
    • Prashant Malani's avatar
      system_server: Allow hwservicemanager to make binder calls · abb5c72b
      Prashant Malani authored
      Fixes the following denial:
      avc: denied { call } for pid=791 comm="system_server" scontext=u:r:system_server:s0 tcontext=u:r:hwservicemanager:s0 tclass=binder permissive=1
      
      Test: Builds, boots, vibrator works on bullhead
      Change-Id: I56a0a86b64f5d46dc490f6f3255009c40e6e3f8f
      abb5c72b
    • 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
  9. 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
  10. Sep 15, 2016
    • Fyodor Kupolov's avatar
      Allow system_server to delete directories in preloads · 31899451
      Fyodor Kupolov authored
      (cherry picked from commit 028ed753)
      
      avc: denied { rmdir } for name="apps" scontext=u:r:system_server:s0 tcontext=u:object_r:preloads_data_file:s0 tclass=dir permissive=0
      avc: denied { rmdir } for name="demo" scontext=u:r:system_server:s0 tcontext=u:object_r:preloads_data_file:s0 tclass=dir permissive=0
      
      Bug: 28855287
      Change-Id: Ia470f94d1d960cc4ebe68cb364b8425418acdbd4
      31899451
  11. Sep 14, 2016
    • Wei Wang's avatar
      allow system_server to set bootanim scheduling priority · 88323b2e
      Wei Wang authored
      (cherry picked from commit 1617c0ce)
      
      Addresses the following denial:
           avc: denied { setsched } for pid=1405 comm="Binder:1094_3" scontext=u:r:system_server:s0 tcontext=u:r:bootanim:s0 tclass=process permissive=0
      
      Maybe fix bug 30118894.
      
      Bug: 30118894
      Change-Id: I29be26c68094c253778edc8e4fef2ef1a238ee2e
      88323b2e
  12. Sep 12, 2016
  13. Sep 11, 2016
    • Jeff Vander Stoep's avatar
      Enforce ioctl command whitelisting on all sockets · bff98015
      Jeff Vander Stoep authored
      Remove the ioctl permission for most socket types. For others, such as
      tcp/udp/rawip/unix_dgram/unix_stream set a default unprivileged whitelist
      that individual domains may extend (except where neverallowed like
      untrusted_app). Enforce via a neverallowxperm rule.
      
      Change-Id: I15548d830f8eff1fd4d64005c5769ca2be8d4ffe
      bff98015
  14. Sep 10, 2016
  15. Aug 29, 2016
  16. Aug 26, 2016
    • Christopher Wiley's avatar
      Allow system_server to call wificond via Binder · 1e170519
      Christopher Wiley authored
      WifiStateMachin: type=1400 audit(0.0:24): avc: denied { call } for
      scontext=u:r:system_server:s0 tcontext=u:r:wificond:s0 tclass=binder
      permissive=0
      
      Bug: 29607308
      Test: Above denial disapears
      
      Change-Id: I9b5cfe414683991ffb6308eea612ca6750f1b8ec
      (cherry picked from commit 71fb20be)
      1e170519
    • Christopher Wiley's avatar
      Separate permissions to set WiFi related properties · bf18eca5
      Christopher Wiley authored
      wificond would like to be able to set WiFi related properties
      without access to the rest of the system properties.  Today,
      this only involves marking the driver as loaded or unloaded.
      
      avc: denied { write } for name="property_service" dev="tmpfs" ino=10100
      scontext=u:r:wificond:s0 tcontext=u:object_r:property_socket:s0
      tclass=sock_file permissive=0
      
      Bug: 29579539
      Test: No avc denials related to system properties across
            various WiFi events.
      
      Change-Id: I6d9f1de3fbef04cb7750cc3753634f9e02fdb71f
      (cherry picked from commit 1ebfdd6a)
      bf18eca5
  17. Aug 22, 2016
  18. Aug 05, 2016
    • Daniel Micay's avatar
      restrict access to timing information in /proc · 5423db6e
      Daniel Micay authored
      These APIs expose sensitive information via timing side channels. This
      leaves access via the adb shell intact along with the current uses by
      dumpstate, init and system_server.
      
      The /proc/interrupts and /proc/stat files were covered in this paper:
      
      https://www.lightbluetouchpaper.org/2016/07/29/yet-another-android-side-channel/
      
      The /proc/softirqs, /proc/timer_list and /proc/timer_stats files are
      also relevant.
      
      Access to /proc has been greatly restricted since then, with untrusted
      apps no longer having direct access to these, but stricter restrictions
      beyond that would be quite useful.
      
      Change-Id: Ibed16674856569d26517e5729f0f194b830cfedd
      5423db6e
  19. Aug 03, 2016
  20. Jul 22, 2016
  21. Jun 14, 2016
    • dcashman's avatar
      Keep pre-existing sysfs write permissions. · 17cfd3fc
      dcashman authored
      Commit: b144ebab added the sysfs_usb
      type and granted the read perms globally, but did not add write
      permissions for all domains that previously had them.  Add the ability
      to write to sysfs_usb for all domains that had the ability to write to
      those files previously (sysfs).
      
      Address denials such as:
      type=1400 audit(1904.070:4): avc:  denied  { write } for  pid=321 comm="ueventd" name="uevent" dev="sysfs" ino=1742 scontext=u:r:ueventd:s0 tcontext=u:object_r:sysfs_usb:s0 tclass=file permissive=0
      
      Bug: 28417852
      Change-Id: I4562ea73f2158ebefba74b58ca572f2176d1b849
      17cfd3fc
  22. Jun 02, 2016
  23. May 24, 2016
    • Fyodor Kupolov's avatar
      SELinux policies for /data/preloads directory · 49ac2a3d
      Fyodor Kupolov authored
      A new directory is created in user data partition that contains preloaded
      content such as a retail mode demo video and pre-loaded APKs.
      
      The new directory is writable/deletable by system server. It can only be
      readable (including directory list) by privileged or platform apps
      
      Bug: 28855287
      Change-Id: I3816cd3a1ed5b9a030965698a66265057214f037
      49ac2a3d
  24. May 16, 2016
  25. May 13, 2016
  26. May 12, 2016
  27. May 05, 2016
    • Philip Cuadra's avatar
      Add CAP_IPC_LOCK and pinner to system_server · 96da70eb
      Philip Cuadra authored
      Add pinner service to system_service services.
      Add CAP_IPC_LOCK permissions to system_server in order to allow
      system_server to pin more memory than the lockedmem ulimit.
      
      bug 28251566
      
      Change-Id: I990c73d25fce4f2cc9a2db0015aa238fa7b0e984
      96da70eb
  28. Apr 30, 2016
  29. Apr 23, 2016
    • Nick Kralevich's avatar
      reduce duplicate SELinux rules · 34936824
      Nick Kralevich authored
      When using domain_trans(init, foo_exec, foo), don't add the
      following rule:
      
        allow foo init:process sigchld;
      
      This is already allowed for all domains in domain.te:
      
        # Allow reaping by init.
        allow domain init:process sigchld;
      
      So adding it over and over again is redundant and bloats the
      policy. More specifically, when I run:
      
        sepolicy-analyze out/target/product/bullhead/root/sepolicy dups
      
      this change reduces the number of duplicate policy statements
      from 461 to 389.
      
      Change-Id: I8632e5649a54f63eb1f79ea6405c4b3f515f544c
      34936824
  30. Apr 22, 2016
    • Andreas Gampe's avatar
      Selinux: Policies for otapreopt_chroot and postinstall_dexopt · e5d8a947
      Andreas Gampe authored
      Give mount & chroot permissions to otapreopt_chroot related to
      postinstall.
      
      Add postinstall_dexopt for otapreopt in the B partition. Allow
      the things installd can do for dexopt. Give a few more rights
      to dex2oat for postinstall files.
      
      Allow postinstall files to call the system server.
      
      Bug: 25612095
      Change-Id: If7407473d50c9414668ff6ef869c2aadd14264e7
      e5d8a947
  31. Apr 20, 2016
    • Christopher Tate's avatar
      Allow system_server to hard link its own files · d9b0a34a
      Christopher Tate authored
      Specifically, backup of wallpaper imagery needs to use hard links to
      achieve "real file" access to the large imagery files without rewriting
      the contents all the time just to stage for backup.  They can't be
      symlinks because the underlying backup mechanisms refuse to act on
      symbolic links for other security reasons.
      
      Bug 25727875
      
      Change-Id: Ic48fba3f94c92a4b16ced27a23646296acf8f3a5
      d9b0a34a
  32. Apr 19, 2016
    • mukesh agrawal's avatar
      allow system server to set log.tag.WifiHAL · e651f6f4
      mukesh agrawal authored
      On eng and userdebug builds (only), allow system server
      to change the value of log.tag.WifiHAL. WifiStateMachine
      will set this property to 'D' by default. If/when a user
      enables "Developer options -> Enable Wi-Fi Verbose Logging",
      WifiStateMachine change log.tag.WifiHAL to 'V'.
      
      BUG=27857554
      TEST=manual (see below)
      
      Test detail
      1. on user build:
         $ adb shell setprop log.tag.WifiHAL V
         $ adb shell getprop log.tag.WifiHAL
         <blank line>
         $ adb bugreport | grep log.tag.WifiHAL
         <11>[  141.918517] init: avc:  denied  { set } for property=log.tag.WifiHAL pid=4583 uid=2000 gid=2000 scontext=u:r:shell:s0 tcontext=u:object_r:wifi_log_prop:s0 tclass=property_service permissive=0
         <11>[  141.918566] init: sys_prop: permission denied uid:2000  name:log.tag.WifiHAL
      2. on userdebug build:
         $ adb shell getprop log.tag.WifiHAL
         $ <blank line>
         $ adb shell setprop log.tag.WifiHAL V
         $ adb shell getprop log.tag.WifiHAL
         V
      3. on userdebug build with modified WifiStateMachine:
         $ adb shell getprop log.tag.WifiHAL
         D
      
      Change-Id: I9cdd52a2b47a3dd1065262ea8c329130b7b044db
      e651f6f4
  33. Apr 14, 2016
  34. Apr 06, 2016
    • Nick Kralevich's avatar
      system_server: neverallow new file exec types · f84b7981
      Nick Kralevich authored
      Add a neverallow rule (CTS test + compile time assertion) blocking
      system_server from executing files outside of a few select file
      types.
      
      In general, it's dangerous to fork()/exec() from within a multi-threaded
      program. See
      https://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
      This change helps discourage the introduction of new execs.
      
      Bug: 28035297
      Change-Id: Idac824308183fa2cef75f17159dae14447290e5b
      f84b7981
    • Jeff Sharkey's avatar
      Allow system_server to execute timeout. · 75b25dd1
      Jeff Sharkey authored
      We've seen evidence that the logcat binary can end up wedged, which
      means we can eventually starve system_server for FDs.  To mitigate
      this, wrap logcat using the timeout utility to kill and clean up if
      it takes too long to exit.
      
      avc: denied { execute } for name="toybox" dev="mmcblk0p43" ino=457 scontext=u:r:system_server:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1
      avc: denied { read open } for path="/system/bin/toybox" dev="mmcblk0p43" ino=457 scontext=u:r:system_server:s0tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1
      avc: denied { execute_no_trans } for path="/system/bin/toybox" dev="mmcblk0p43" ino=457 scontext=u:r:system_server:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1
      
      Bug: 27994717, 28021719, 28009200
      Change-Id: I76d3c7fe5b37fb9a144a3e5dbcc9150dfea495ee
      75b25dd1
  35. Apr 05, 2016
    • Daniel Rosenberg's avatar
      Allow search/getattr access to media_rw_data_file for now. · b80bdef0
      Daniel Rosenberg authored
      With sdcardfs, we no longer have a separate sdcardd acting as
      an intermediate between the outside world and /data/media.
      Unless we modify sdcardfs to change contexts, we need these.
      Added for: system_server, dumpstate, and bluetooth
      
      Remove this patch if sdcardfs is updated to change the
      secontext of fs accesses.
      
      Bug: 27932396
      Change-Id: I294cfe23269b7959586252250f5527f13e60529b
      b80bdef0
  36. Mar 24, 2016
    • dcashman's avatar
      Move sysfs_thermal to global policy and grant access. · df72abb3
      dcashman authored
      sysfs_thermal nodes are common enough to warrant an entry in global
      policy and the new HardwarePropertiesManagerService exists explicitly to
      expose some of this information.
      
      Address the following denials:
      avc: denied { search } for name="thermal" dev="sysfs" ino=17509 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_thermal:s0 tclass=dir permissive=1
      avc: denied { read } for name="temp" dev="sysfs" ino=17848 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_thermal:s0 tclass=file permissive=1
      avc: denied { open } for path="/sys/devices/virtual/thermal/thermal_zone8/temp" dev="sysfs" ino=17848 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_thermal:s0 tclass=file permissive=1
      avc: denied { getattr } for path="/sys/devices/virtual/thermal/thermal_zone8/temp" dev="sysfs" ino=17848 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_thermal:s0 tclass=file permissive=1
      
      (cherry-pick of internal commit: 98eff7c3)
      
      Bug: 27809332
      Change-Id: I6f812a7e281e348aa24c76b119e71ed95e1a1d9f
      df72abb3
Loading