Skip to content
Snippets Groups Projects
  1. Jun 08, 2015
    • Nick Kralevich's avatar
      Allow /dev/klog access, drop mknod and __null__ access · e2651972
      Nick Kralevich authored
      Allow vold, healthd, slideshow, and watchdogd access to /dev/kmsg.
      These processes log to the kernel dmesg ring buffer, so they need
      write access to that file.
      
      Addresses the following denials:
      
          avc: denied { write } for pid=134 comm="watchdogd" name="kmsg" dev="tmpfs" ino=9248 scontext=u:r:watchdogd:s0 tcontext=u:object_r:kmsg_device:s0 tclass=chr_file permissive=0
          avc: denied { write } for pid=166 comm="healthd" name="kmsg" dev="tmpfs" ino=9248 scontext=u:r:healthd:s0 tcontext=u:object_r:kmsg_device:s0 tclass=chr_file permissive=0
          avc: denied { write } for pid=180 comm="vold" name="kmsg" dev="tmpfs" ino=9248 scontext=u:r:vold:s0 tcontext=u:object_r:kmsg_device:s0 tclass=chr_file permissive=0
      
      These denials were triggered by the change in
      https://android-review.googlesource.com/151209 . Prior to that change,
      any code which called klog_init would (unnecessarily) create the
      device node themselves, rather than using the already existing device
      node.
      
      Drop special /dev/__null__ handling from watchdogd. As of
      https://android-review.googlesource.com/148288 , watchdogd no longer
      creates it's own /dev/null device, so it's unnecessary for us
      to allow for it.
      
      Drop mknod from healthd, slideshow, and watchdogd. healthd and slideshow
      only needed mknod to create /dev/__kmsg__, which is now obsolete.
      watchdogd only needed mknod to create /dev/__kmsg__ and /dev/__null__,
      which again is now obsolete.
      
      Bug: 21242418
      Change-Id: If01c8001084575e7441253f0fa8b4179ae33f534
      e2651972
  2. Jun 04, 2015
  3. Jun 03, 2015
    • Paul Lawrence's avatar
      Move crypt commands to a different listener in vold · 3aac44ed
      Paul Lawrence authored
      In order to prevent this bug from happening, we must allow vold cryptfs
      commands to complete while a long running mount is underway.
      
      While waiting for vold to be changed to a binder interface, we will simply
      create two listeners, one for cryptfs and one for everything else.
      
      Bug: 19197175
      Change-Id: I819f6a54c0a232826016823f2fde3adf7be31f9d
      3aac44ed
  4. Jun 02, 2015
    • Mark Salyzyn's avatar
      logd: logpersistd · 7e0838aa
      Mark Salyzyn authored
      (cherry pick from commit 0d22c6ce)
      
      - Enable logpersistd to write to /data/misc/logd
      - Enable logpersistd to read from pstore to help complete any content
        lost by reboot disruption
      - Enable shell readonly ability logpersistd files in /data/misc/logd
      - Enable logcat -f when placed into logd context to act as a
        logpersistd (nee logcatd) agent, restrict access to run only in
        userdebug or eng
      
      Bug: 19608716
      Change-Id: I3209582bc796a1093c325c90068a48bf268e5ab5
      7e0838aa
  5. May 29, 2015
  6. May 28, 2015
    • dcashman's avatar
    • dcashman's avatar
      Allow system_app to find all system services. · 48c1f613
      dcashman authored
      SystemPropPoker in settings app lists and communicates with every service on the
      system on property change, which is not currently allowed for all services.
      
      This occurs, for instance, when toggling
      Developer options -> Monitoring -> Profile GPU Rendering -> On scren as bars.
      
      Addresses the following denials:
      SELinux : avc:  denied  { find } for service=samplingprofiler scontext=u:r:system_app:s0 tcontext=u:object_r:samplingprofiler_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=DockObserver scontext=u:r:system_app:s0 tcontext=u:object_r:DockObserver_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=devicestoragemonitor scontext=u:r:system_app:s0 tcontext=u:object_r:devicestoragemonitor_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=media.camera.proxy scontext=u:r:system_app:s0 tcontext=u:object_r:cameraproxy_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=scheduling_policy scontext=u:r:system_app:s0 tcontext=u:object_r:scheduling_policy_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=battery scontext=u:r:system_app:s0 tcontext=u:object_r:battery_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=processinfo scontext=u:r:system_app:s0 tcontext=u:object_r:processinfo_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=batteryproperties scontext=u:r:system_app:s0 tcontext=u:object_r:healthd_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=drm.drmManager scontext=u:r:system_app:s0 tcontext=u:object_r:drmserver_service:s0 tclass=service_manager
      SELinux : avc:  denied  { find } for service=commontime_management scontext=u:r:system_app:s0 tcontext=u:object_r:commontime_management_service:s0 tclass=service_manager
      
      (cherry-pick of commit: bf0c34d5)
      
      Bug: 20762975
      Bug: 21446739
      Change-Id: I655d39c6d6ff0b8bd333a99d17abc08af8001be8
      48c1f613
    • Tao Bao's avatar
    • Tao Bao's avatar
      Allow system server and uncrypt to operate pipe file · 70c6dbf0
      Tao Bao authored
      System server and uncrypt need to communicate with a named pipe on the
      /cache partition. It will be created and deleted by system server.
      
      Bug: 20012567
      Bug: 20949086
      Change-Id: I9494a67016c23294e803ca39d377ec321537bca0
      70c6dbf0
  7. May 26, 2015
  8. May 22, 2015
  9. May 21, 2015
  10. May 20, 2015
  11. May 19, 2015
    • Jeff Sharkey's avatar
      Allow MediaProvider to traverse /mnt/media_rw. · 6e1f405c
      Jeff Sharkey authored
      As an optimization, platform components like MediaProvider may choose
      to shortcut past the FUSE daemon and return open file descriptors
      directly pointing at the underlying storage device.
      
      Now that we have a specific label for /mnt/media_rw, we need to grant
      search access to untrusted apps like MediaProvider.  The actual
      access control is still managed by POSIX permissions on that
      directory.
      
      avc: denied { search } for name="media_rw" dev="tmpfs" ino=4150 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:mnt_media_rw_file:s0 tclass=dir permissive=0
      
      Bug: 21017105
      Change-Id: I6d51939668b39b43b91b1f0c24c98bc2205bf511
      6e1f405c
  12. May 18, 2015
  13. May 15, 2015
  14. May 14, 2015
    • dcashman's avatar
      Fix sepolicy-analyze libc++.so loading issue w/CTS. · ae696944
      dcashman authored
      Addresses the following error when running CTS on master:
      junit.framework.AssertionFailedError: The following errors were encountered when validating the SELinuxneverallow rule:
      neverallow { appdomain -bluetooth } self:capability *;
      /tmp/SELinuxHostTest5593810182495331783.tmp: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory
      
      Also indicate that none of the sepolicy tools need c++ std lib.
      
      (cherry-pick of 28acbeab)
      
      Bug: 19566396
      Change-Id: Ieb380d05ae896a8146b80f94fe3b3211178705bb
      ae696944
  15. May 13, 2015
  16. May 07, 2015
    • Nick Kralevich's avatar
      Label /oem files · 415f0ba7
      Nick Kralevich authored
      Files on the /oem partition are weird. The /oem partition is an ext4
      partition, built in the Android tree using the "oem_image" build target
      added in build/ commit b8888432f0bc0706d5e00e971dde3ac2e986f2af. Since
      it's an ext4 image, it requires SELinux labels to be defined at build
      time. However, the partition is mounted using context=u:object_r:oemfs:s0,
      which ignores the labels on the filesystem.
      
      Assign all the files on the /oem image to be oemfs, which is consistent
      with how they'll be mounted when /oem is mounted.
      
      Other options would be to use an "unlabeled" label, or try to fix the
      build system to not require SELinux labels for /oem images.
      
      (cherrypicked from commit 2025fd14)
      
      Bug: 20816563
      Change-Id: Ibe8d9ff626eace8a2d5d02c3f06290105baa59fe
      415f0ba7
    • William Roberts's avatar
      Replace unix_socket_connect() and explicit property sets with macro · 2f5a6a96
      William Roberts authored
      
      A common source of mistakes when authoring sepolicy is properly
      setting up property sets. This is a 3 part step of:
      1. Allowing the unix domain connection to the init/property service
      2. Allowing write on the property_socket file
      3. Allowing the set on class property_service
      
      The macro unix_socket_connect() handled 1 and 2, but could be
      confusing for first time policy authors. 3 had to be explicitly
      added.
      
      To correct this, we introduce a new macros:
      set_prop(sourcedomain, targetprop)
      
      This macro handles steps 1, 2 and 3.
      
      No difference in sediff is expected.
      
      (cherrypicked from commit 625a3526)
      
      Change-Id: I630ba0178439c935d08062892990d43a3cc1239e
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@linux.intel.com>
      2f5a6a96
  17. May 06, 2015
    • Dehao Chen's avatar
      Update sepolicy to add label for /data/misc/perfprofd. · 34a468fa
      Dehao Chen authored
      Bug: 19483574
      (cherry picked from commit 7d66f783)
      
      Change-Id: If617e29b6fd36c88c157941bc9e11cf41329da48
      34a468fa
    • Than McIntosh's avatar
      New sepolicy for perfprofd, simpleperf. · 38d0247d
      Than McIntosh authored
      Bug: http://b/19483574
      
      (cherry picked from commit 0fdd364e)
      
      Change-Id: If29946a5d7f92522f3bbb807cea5f9f1b42a6513
      38d0247d
    • Nick Kralevich's avatar
      kernel: allow rebooting, and writing to /dev/__kmsg__ · 618efe8c
      Nick Kralevich authored
      Addresses the following denials:
      
        avc:  denied  { write } for  pid=1 comm="init" path=2F6465762F5F5F6B6D73675F5F202864656C6574656429 dev="tmpfs" ino=7214 scontext=u:r:kernel:s0 tcontext=u:object_r:tmpfs:s0 tclass=chr_file permissive=0
        avc:  denied  { write } for  pid=1 comm="init" name="sysrq-trigger" dev="proc" ino=4026534153 scontext=u:r:kernel:s0 tcontext=u:object_r:proc_sysrq:s0 tclass=file permissive=0
        avc:  denied  { sys_boot } for  pid=1 comm="init" capability=22  scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
      
      (cherrypicked from commit e550e79c)
      
      Change-Id: I46be370d520c4492d97c6ed7ccdc55cc20b22c49
      618efe8c
  18. May 05, 2015
Loading