Skip to content
Snippets Groups Projects
  1. May 14, 2015
  2. Apr 18, 2015
    • Jeff Sharkey's avatar
      Grant apps write access to returned vfat FDs. · e98cda25
      Jeff Sharkey authored
      Users can pick files from vfat devices through the Storage Access
      Framework, which are returned through ParcelFileDescriptors.  Grant
      apps write access to those files.  (Direct access to the files on
      disk is still controlled through normal filesystem permissions.)
      
      avc: denied { write } for pid=3235 comm="Binder_1" path=2F6D6E742F6D656469615F72772F373243322D303446392F6D656F772F6D79206469722F706963322E706E67 dev="sdb1" ino=87 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:vfat:s0 tclass=file
      
      Bug: 19993667
      Change-Id: I24b4d8826f0a35825b2abc63d1cfe851e1c1bfe9
      e98cda25
  3. Apr 10, 2015
    • Nick Kralevich's avatar
      Revert "Exclude isolated_app from ptrace self." · 50d50621
      Nick Kralevich authored
      Google Breakpad (crash reporter for Chrome) relies on ptrace
      functionality. Without the ability to ptrace, the crash reporter
      tool is broken.
      
      Addresses the following denial:
      
        type=1400 audit(1428619926.939:1181): avc: denied { ptrace } for pid=10077 comm="CrRendererMain" scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:r:isolated_app:s0:c512,c768 tclass=process permissive=0
      
      This reverts commit e9623d8f.
      
      Bug: 20150694
      Bug: https://code.google.com/p/chromium/issues/detail?id=475270
      Change-Id: I1727c6a93f10ea6db877687a8f81ec789f9e501f
      50d50621
  4. Apr 09, 2015
  5. Apr 07, 2015
    • Nick Kralevich's avatar
      Allow system_server to collect app heapdumps (debug builds only) · 8a06c077
      Nick Kralevich authored
      On debuggable builds, system_server can request app heap dumps
      by running something similar to the following commands:
      
        % adb shell am set-watch-heap com.android.systemui 1048576
        % adb shell dumpsys procstats --start-testing
      
      which will dump the app's heap to /data/system/heapdump. See
      framework/base commit b9a5e4ad30c9add140fd13491419ae66e947809d.
      
      Allow this behavior.
      
      Addresses the following denial:
      
        avc: denied { write } for path="/data/system/heapdump/javaheap.bin" dev="dm-0" ino=150747 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0
      
      Bug: 20073185
      Change-Id: I4b925033a5456867caf2697de6c2d683d0743540
      8a06c077
    • Jeff Sharkey's avatar
      Initial policy for expanded storage. · 73d9c2a9
      Jeff Sharkey authored
      Expanded storage supports a subset of the features of the internal
      data partition.  Mirror that policy for consistency.  vold is also
      granted enough permissions to prepare initial directories.
      
      avc: denied { write } for name="ext" dev="tmpfs" ino=3130 scontext=u:r:vold:s0 tcontext=u:object_r:mnt_ext_file:s0 tclass=dir permissive=1
      avc: denied { add_name } for name="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" scontext=u:r:vold:s0 tcontext=u:object_r:mnt_ext_file:s0 tclass=dir permissive=1
      avc: denied { create } for name="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" scontext=u:r:vold:s0 tcontext=u:object_r:mnt_ext_file:s0 tclass=dir permissive=1
      avc: denied { setattr } for name="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" dev="tmpfs" ino=7243 scontext=u:r:vold:s0 tcontext=u:object_r:mnt_ext_file:s0 tclass=dir permissive=1
      avc: denied { mounton } for path="/mnt/ext/57f8f4bc-abf4-655f-bf67-946fc0f9f25b" dev="tmpfs" ino=7243 scontext=u:r:vold:s0 tcontext=u:object_r:mnt_ext_file:s0 tclass=dir permissive=1
      
      avc: denied { getattr } for path="/mnt/ext" dev="tmpfs" ino=3130 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:mnt_ext_file:s0 tclass=dir permissive=1
      
      avc: denied { setattr } for name="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" dev="tmpfs" ino=4471 scontext=u:r:vold:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir permissive=1
      avc: denied { getattr } for path="/mnt/expand/57f8f4bc-abf4-655f-bf67-946fc0f9f25b/media" dev="dm-0" ino=145153 scontext=u:r:vold:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
      
      avc: denied { rmdir } for name="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" dev="tmpfs" ino=6380 scontext=u:r:vold:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir permissive=1
      
      avc: denied { create } for name="tmp" scontext=u:r:vold:s0 tcontext=u:object_r:shell_data_file:s0 tclass=dir permissive=1
      avc: denied { setattr } for name="tmp" dev="dm-0" ino=72578 scontext=u:r:vold:s0 tcontext=u:object_r:shell_data_file:s0 tclass=dir permissive=1
      
      Bug: 19993667
      Change-Id: I73c98b36e7c066f21650a9e16ea82c5a0ef3d6c5
      73d9c2a9
  6. Apr 03, 2015
    • Jeff Sharkey's avatar
      Apps need more than just search. · 3bdc0abc
      Jeff Sharkey authored
      avc: denied { getattr } for path="/storage/self" dev="tmpfs" ino=3129 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:mnt_user_file:s0 tclass=dir permissive=0
      
      Change-Id: I802321331e9bd7ae41d3af7ace39364240db6d84
      3bdc0abc
    • Jeff Sharkey's avatar
      Consistent external storage policy. · 93fd6f0a
      Jeff Sharkey authored
      Apps, shell and adbd should all have identical access to external
      storage.  Also document where we have files and/or symlinks.
      
      Bug: 20055945
      Change-Id: I133ffcf28cc3ccdb0541aba18ea3b9ba676eddbe
      93fd6f0a
  7. Apr 01, 2015
    • dcashman's avatar
      Allow apps to dump meminfo to serial_console. · 361ed751
      dcashman authored
      Executing dumpsys meminfo over the console shell requires that output go to the
      console_device.  meminfo passes a fd to each applicaiton thread so that it can
      do this in IApplicationThread.dumpMemInfo().  Allow use of this fd.
      
      Addresses the following denial:
      type=1400 audit(1426793987.944:4224): avc: denied { read write } for pid=1809 comm="Binder_4" path="/dev/console" dev="tmpfs" ino=5684 scontext=u:r:platform_app:s0 tcontext=u:object_r:console_device:s0 tclass=chr_file
      
      Bug: 17135173
      Change-Id: Id5340a1fb3c8dbf41bda427720c4a0047bc557fc
      361ed751
  8. Mar 31, 2015
    • Jeff Sharkey's avatar
      Updated policy for external storage. · f063f461
      Jeff Sharkey authored
      An upcoming platform release is redesigning how external storage
      works.  At a high level, vold is taking on a more active role in
      managing devices that dynamically appear.
      
      This change also creates further restricted domains for tools doing
      low-level access of external storage devices, including sgdisk
      and blkid.  It also extends sdcardd to be launchable by vold, since
      launching by init will eventually go away.
      
      For compatibility, rules required to keep AOSP builds working are
      marked with "TODO" to eventually remove.
      
      Slightly relax system_server external storage rules to allow calls
      like statfs().  Still neverallow open file descriptors, since they
      can cause kernel to kill us.
      
      Here are the relevant violations that this CL is designed to allow:
      
      avc: denied { search } for name="user" dev="tmpfs" ino=7441 scontext=u:r:zygote:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { getattr } for path="/mnt/user/0" dev="tmpfs" ino=6659 scontext=u:r:zygote:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { write } for name="user" dev="tmpfs" ino=6658 scontext=u:r:zygote:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { add_name } for name="10" scontext=u:r:zygote:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { create } for name="10" scontext=u:r:zygote:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { setattr } for name="10" dev="tmpfs" ino=11348 scontext=u:r:zygote:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { search } for name="/" dev="tmpfs" ino=3131 scontext=u:r:zygote:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage" dev="tmpfs" ino=6661 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage/self" dev="tmpfs" ino=6659 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage" dev="tmpfs" ino=6661 scontext=u:r:untrusted_app:s0:c522,c768 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage/self" dev="tmpfs" ino=11348 scontext=u:r:untrusted_app:s0:c522,c768 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage" dev="tmpfs" ino=6661 scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { read } for name="/" dev="tmpfs" ino=6661 scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { open } for name="/" dev="tmpfs" ino=6661 scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { search } for name="/" dev="tmpfs" ino=6661 scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { write } for name="data" dev="tmpfs" ino=11979 scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { add_name } for name="com.google.android.music" scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { create } for name="com.google.android.music" scontext=u:r:vold:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { use } for path="socket:[8297]" dev="sockfs" ino=8297 scontext=u:r:sdcardd:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { read write } for path="socket:[8297]" dev="sockfs" ino=8297 scontext=u:r:sdcardd:s0 tcontext=u:r:vold:s0 tclass=netlink_kobject_uevent_socket
      avc: denied { read } for path="pipe:[8298]" dev="pipefs" ino=8298 scontext=u:r:sdcardd:s0 tcontext=u:r:vold:s0 tclass=fifo_file
      avc: denied { write } for path="pipe:[8298]" dev="pipefs" ino=8298 scontext=u:r:sdcardd:s0 tcontext=u:r:vold:s0 tclass=fifo_file
      avc: denied { mounton } for path="/storage/emulated" dev="tmpfs" ino=8913 scontext=u:r:sdcardd:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage" dev="tmpfs" ino=7444 scontext=u:r:system_server:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { getattr } for path="/storage/self/primary" dev="tmpfs" ino=7447 scontext=u:r:system_server:s0 tcontext=u:object_r:storage_file:s0 tclass=lnk_file
      avc: denied { read } for name="primary" dev="tmpfs" ino=7447 scontext=u:r:system_server:s0 tcontext=u:object_r:storage_file:s0 tclass=lnk_file
      avc: denied { getattr } for path="/mnt/user" dev="tmpfs" ino=7441 scontext=u:r:system_server:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir
      avc: denied { read } for name="disk:179,128" dev="tmpfs" ino=3224 scontext=u:r:sgdisk:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { open } for path="/dev/block/vold/disk:179,128" dev="tmpfs" ino=3224 scontext=u:r:sgdisk:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { getattr } for path="/dev/block/vold/disk:179,128" dev="tmpfs" ino=3224 scontext=u:r:sgdisk:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { read } for name="/" dev="fuse" ino=0 scontext=u:r:vold:s0 tcontext=u:object_r:fuse:s0 tclass=dir
      avc: denied { open } for path="/storage/public:81F3-13EC" dev="fuse" ino=0 scontext=u:r:vold:s0 tcontext=u:object_r:fuse:s0 tclass=dir
      avc: denied { write } for name="data" dev="fuse" ino=2 scontext=u:r:vold:s0 tcontext=u:object_r:fuse:s0 tclass=dir
      avc: denied { add_name } for name="com.google.android.googlequicksearchbox" scontext=u:r:vold:s0 tcontext=u:object_r:fuse:s0 tclass=dir
      avc: denied { create } for name="com.google.android.googlequicksearchbox" scontext=u:r:vold:s0 tcontext=u:object_r:fuse:s0 tclass=dir
      avc: denied { getattr } for path="/dev/block/vold/public:179,129" dev="tmpfs" ino=16953 scontext=u:r:blkid:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { read } for name="public:179,129" dev="tmpfs" ino=16953 scontext=u:r:blkid:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { open } for path="/dev/block/vold/public:179,129" dev="tmpfs" ino=16953 scontext=u:r:blkid:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { ioctl } for path="/dev/block/vold/public:179,129" dev="tmpfs" ino=16953 scontext=u:r:blkid:s0 tcontext=u:object_r:vold_device:s0 tclass=blk_file
      avc: denied { use } for path="pipe:[3264]" dev="pipefs" ino=3264 scontext=u:r:sgdisk:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { use } for path="pipe:[3264]" dev="pipefs" ino=3264 scontext=u:r:sgdisk:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { search } for name="block" dev="tmpfs" ino=2494 scontext=u:r:sgdisk:s0 tcontext=u:object_r:block_device:s0 tclass=dir
      avc: denied { use } for path="pipe:[4200]" dev="pipefs" ino=4200 scontext=u:r:sdcardd:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { use } for path="pipe:[4200]" dev="pipefs" ino=4200 scontext=u:r:sdcardd:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { search } for name="/" dev="tmpfs" ino=3131 scontext=u:r:sdcardd:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
      avc: denied { search } for name="media_rw" dev="tmpfs" ino=3127 scontext=u:r:sdcardd:s0 tcontext=u:object_r:mnt_media_rw_file:s0 tclass=dir
      avc: denied { getattr } for path="pipe:[3648]" dev="pipefs" ino=3648 scontext=u:r:blkid:s0 tcontext=u:r:vold:s0 tclass=fifo_file
      avc: denied { use } for path="/dev/pts/12" dev="devpts" ino=15 scontext=u:r:fsck:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { use } for path="/dev/pts/12" dev="devpts" ino=15 scontext=u:r:fsck:s0 tcontext=u:r:vold:s0 tclass=fd
      avc: denied { use } for path="pipe:[4182]" dev="pipefs" ino=4182 scontext=u:r:fsck:s0 tcontext=u:r:vold:s0 tclass=fd
      
      Change-Id: Idf3b8561baecf7faa603fac5ababdcc5708288e1
      f063f461
  9. Mar 18, 2015
  10. Mar 16, 2015
    • Stephen Smalley's avatar
      Remove ability to read all /proc/pid/attr/current entries. · 2cba1ee1
      Stephen Smalley authored
      
      This was rendered obsolete when SELinuxDomainTest was ported
      to SELinuxHostTest and only makes sense if allowing search
      to domain:dir and { open read } to domain:file in order to
      open the /proc/pid/attr/current files in the first place.
      SELinux applies a further :process getattr check when
      reading any of the /proc/pid/attr/* files for any process
      other than self, which is no longer needed by app domains to
      pass CTS.
      
      Change-Id: Iff1e601e1268d4d77f64788d733789a2d2cd18cc
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      2cba1ee1
  11. Mar 13, 2015
    • Stephen Smalley's avatar
      Move allow rules before neverallow rules. · b8caf7fd
      Stephen Smalley authored
      
      There were a few instances where allow rules were appended
      after the neverallow rules stanza in the .te file.  Also
      there were some regular allow rules inserted into the CTS-specific
      rules section of app.te.  Just move the rules as appropriate.
      Should be no change in policy.
      
      Change-Id: Iec76f32d4b531d245bbf5dd9f621a71ff5c71f3e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      b8caf7fd
  12. Mar 05, 2015
  13. Feb 25, 2015
    • Nick Kralevich's avatar
      Revert /proc/net related changes · 5cf3994d
      Nick Kralevich authored
      Revert the tightening of /proc/net access. These changes
      are causing a lot of denials, and I want additional time to
      figure out a better solution.
      
      Addresses the following denials (and many more):
      
        avc: denied { read } for comm="SyncAdapterThre" name="stats" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
        avc: denied { read } for comm="facebook.katana" name="iface_stat_fmt" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
        avc: denied { read } for comm="IntentService[C" name="if_inet6" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
        avc: denied { read } for comm="dumpstate" name="iface_stat_all" dev="proc" ino=X scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      This reverts commit 0f0324cc
      and commit 99940d1a
      
      Bug: 9496886
      Bug: 19034637
      Change-Id: I436a6e3638ac9ed49afbee214e752fe2b0112868
      5cf3994d
  14. Feb 05, 2015
    • Nick Kralevich's avatar
      appdomain: relax netlink_socket neverallow rule · 87f3802a
      Nick Kralevich authored
      Relax the neverallow netlink restrictions for app domains.
      In particular, some non-AOSP app domains may use netlink sockets
      to communicate with a kernel driver.
      
      Continue to neverallow generic netlink sockets for untrusted_app.
      The intention here is that only app domains which explicitly need
      this functionality should be able to request it.
      
      This change does not add or remove any SELinux rules. Rather, it
      just changes SELinux compile time assertions, as well as allowing
      this behavior in CTS.
      
      Modify other neverallow rules to use "domain" instead of "self".
      Apps shouldn't be able to handle netlink sockets, even those
      created in other SELinux domains.
      
      (cherry picked from commit d31936f8)
      
      Change-Id: I4763cb0c9510220693c506636dbb7584712b67e2
      87f3802a
  15. Feb 04, 2015
    • Christopher Ferris's avatar
      Dumpstate runs the same from shell as service. · 5ec38c49
      Christopher Ferris authored
      Without this change, any selinux warning you might get when running
      dumpstate from init do not show up when running from the shell
      as root. This change makes them run the same.
      
      Change-Id: I6b74e0f6f48f47952a2dbe7728b1853008f60dbb
      5ec38c49
  16. Jan 29, 2015
    • Nick Kralevich's avatar
      appdomain: relax netlink_socket neverallow rule · bf626ce9
      Nick Kralevich authored
      Relax the neverallow netlink restrictions for app domains.
      In particular, some non-AOSP app domains may use netlink sockets
      to communicate with a kernel driver.
      
      Continue to neverallow generic netlink sockets for untrusted_app.
      The intention here is that only app domains which explicitly need
      this functionality should be able to request it.
      
      This change does not add or remove any SELinux rules. Rather, it
      just changes SELinux compile time assertions, as well as allowing
      this behavior in CTS.
      
      Modify other neverallow rules to use "domain" instead of "self".
      Apps shouldn't be able to handle netlink sockets, even those
      created in other SELinux domains.
      
      (cherry picked from commit d31936f8)
      
      Bug: 19198997
      Change-Id: Icfed1ee66f082df1117b090341f62981f01bc849
      bf626ce9
    • Nick Kralevich's avatar
      appdomain: relax netlink_socket neverallow rule · d31936f8
      Nick Kralevich authored
      Relax the neverallow netlink restrictions for app domains.
      In particular, some non-AOSP app domains may use netlink sockets
      to communicate with a kernel driver.
      
      Continue to neverallow generic netlink sockets for untrusted_app.
      The intention here is that only app domains which explicitly need
      this functionality should be able to request it.
      
      This change does not add or remove any SELinux rules. Rather, it
      just changes SELinux compile time assertions, as well as allowing
      this behavior in CTS.
      
      Modify other neverallow rules to use "domain" instead of "self".
      Apps shouldn't be able to handle netlink sockets, even those
      created in other SELinux domains.
      
      Change-Id: I40de0ae28134ce71e808e5ef4a39779b71897571
      d31936f8
  17. Jan 21, 2015
  18. Jan 16, 2015
  19. Jan 14, 2015
    • Nick Kralevich's avatar
      remove /proc/net read access from domain.te · 99940d1a
      Nick Kralevich authored
      SELinux domains wanting read access to /proc/net need to
      explicitly declare it.
      
      TODO: fixup the ListeningPortsTest cts test so that it's not
      broken.
      
      Bug: 9496886
      Change-Id: Ia9f1214348ac4051542daa661d35950eb271b2e4
      99940d1a
  20. Dec 02, 2014
  21. Nov 12, 2014
  22. Oct 17, 2014
    • Nick Kralevich's avatar
      Revert "Do not allow isolated_app to directly open app data files." · 44cb98a7
      Nick Kralevich authored
      This is causing the version of Chrome in Android's tree to crash. The
      version of Chrome in Android's tree does not have the following patch:
      https://codereview.chromium.org/630123003
      
      Until Chrome updates the version in Android's tree, we need to revert.
      
      Works around the following denials:
      
      audit(0.0:19): avc: denied { search } for name="com.android.chrome" dev="mmcblk0p28" ino=1474658 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir
      audit(0.0:20): avc: denied { getattr } for path="/data/data/com.android.chrome" dev="mmcblk0p28" ino=1474658 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir
      audit(0.0:21): avc: denied { getattr } for path="/data/data/com.android.chrome" dev="mmcblk0p28" ino=1474658 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir
      
      This reverts commit 669a9773.
      
      Bug: 18006219
      Change-Id: Id44137ec6a0dfe4a597b34ab3dad9e3feecc2a5e
      44cb98a7
  23. Oct 16, 2014
    • Stephen Smalley's avatar
      Exclude isolated_app from ptrace self. · e9623d8f
      Stephen Smalley authored
      
      Change-Id: I29136a805d2329806afc9d5d81af934a1803d8e0
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      e9623d8f
    • Nick Kralevich's avatar
      Fix compile time / CTS gps_data_files neverallow assertion · 38936af0
      Nick Kralevich authored
      Currently, zygote spawned apps are prohibited from modifying GPS
      data files. If someone tries to allow GPS access to any app domain,
      it generates a compile time / CTS exception.
      
      Relax the rules slightly for system_app. These apps run with UID=system,
      and shouldn't be banned from handling gps data files.
      
      This change doesn't add or remove any SELinux rules. Rather, it just
      relaxes a compile time assertion, allow partners to create SELinux
      rules allowing the access if they desire.
      
      (cherrypick from commit 480374e4)
      
      Bug: 18021422
      Change-Id: Iad0c6a3627efe129246e2c817f6f71d2735eba93
      38936af0
    • Nick Kralevich's avatar
      Fix compile time / CTS gps_data_files neverallow assertion · 480374e4
      Nick Kralevich authored
      Currently, zygote spawned apps are prohibited from modifying GPS
      data files. If someone tries to allow GPS access to any app domain,
      it generates a compile time / CTS exception.
      
      Relax the rules slightly for system_app. These apps run with UID=system,
      and shouldn't be banned from handling gps data files.
      
      This change doesn't add or remove any SELinux rules. Rather, it just
      relaxes a compile time assertion, allow partners to create SELinux
      rules allowing the access if they desire.
      
      Bug: 18021422
      Change-Id: Iad0c6a3627efe129246e2c817f6f71d2735eba93
      480374e4
  24. Oct 15, 2014
    • Robin Lee's avatar
      Pull keychain-data policy out of system-data · 51bfecf4
      Robin Lee authored
      Migrators should be allowed to write to /data/misc/keychain in order
      to remove it. Similarly /data/misc/user should be writable by system
      apps.
      
      TODO: Revoke zygote's rights to read from /data/misc/keychain on
      behalf of some preloaded security classes.
      
      Bug: 17811821
      Change-Id: I9e9c6883cff1dca3755732225404909c16a0e547
      51bfecf4
  25. Oct 06, 2014
  26. Sep 26, 2014
  27. Sep 25, 2014
    • Martijn Coenen's avatar
      Allow NFC to read/write nfc. system properties. · 05383ebf
      Martijn Coenen authored
      Bug: 17298769
      Change-Id: I1994ff9f9da9b13249099f6c9bcec88dcdc2bb97
      05383ebf
    • Nick Kralevich's avatar
      allow apps to read the contents of mounted OBBs · 826bc5d6
      Nick Kralevich authored
      Apps should be able to read the contents of mounted OBBs.
      
      Steps to reproduce:
      
        1) Install com.namcobandaigames.soulcaliburgp (SoulCalibur)
        2) Attempt to run the app.
      
      Expected:
        App runs successfully.
      
      Actual:
        App crashes. See denials below.
      
      This can also be reproduced by running the newly introduced CTS
      test in I2018b63b0236ce6b5aee4094e40473315b1948c3
      
      Addresses the following denials:
      
        avc: denied { read } for pid=4133 comm="roidJUnitRunner" name="test1.txt" dev="loop0" ino=23 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=file
        avc: denied { open } for pid=4133 comm="roidJUnitRunner" name="test1.txt" dev="loop0" ino=23 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=file
        avc: denied { getattr } for pid=4133 comm="roidJUnitRunner" path="/mnt/obb/f73da56689d166b5389d49ad31ecbadb/test1.txt" dev="loop0" ino=23 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=file
        avc: denied { search } for name="/" dev="loop0" ino=1 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=dir permissive=0
      
      (cherrypick of commit 62083414)
      
      Bug: 17633509
      Change-Id: I49b722b24c1c7d9ab084ebee7c1e349d8d660ffa
      826bc5d6
  28. Sep 24, 2014
    • Nick Kralevich's avatar
      allow apps to read the contents of mounted OBBs · 62083414
      Nick Kralevich authored
      Apps should be able to read the contents of mounted OBBs.
      
      Steps to reproduce:
      
        1) Install com.namcobandaigames.soulcaliburgp (SoulCalibur)
        2) Attempt to run the app.
      
      Expected:
        App runs successfully.
      
      Actual:
        App crashes. See denials below.
      
      This can also be reproduced by running the newly introduced CTS
      test in I2018b63b0236ce6b5aee4094e40473315b1948c3
      
      Addresses the following denials:
      
        avc: denied { read } for pid=4133 comm="roidJUnitRunner" name="test1.txt" dev="loop0" ino=23 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=file
        avc: denied { open } for pid=4133 comm="roidJUnitRunner" name="test1.txt" dev="loop0" ino=23 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=file
        avc: denied { getattr } for pid=4133 comm="roidJUnitRunner" path="/mnt/obb/f73da56689d166b5389d49ad31ecbadb/test1.txt" dev="loop0" ino=23 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=file
        avc: denied { search } for name="/" dev="loop0" ino=1 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:vfat:s0 tclass=dir permissive=0
      
      Bug: 17633509
      Change-Id: I49b722b24c1c7d9ab084ebee7c1e349d8d660ffa
      62083414
  29. Sep 23, 2014
    • Robert Sesek's avatar
      isolated_app: Do not allow access to the gpu_device. · 9de62d6f
      Robert Sesek authored
      Bug: 17471434
      
      (cherry picked from commit 7f4a8a72)
      
      Change-Id: I7d70fd4d8b8ecdd42024345d74fa36233fb76fb5
      9de62d6f
    • Nick Kralevich's avatar
      relax appdomain efs_file neverallow rules [DO NOT MERGE] · a8b651bf
      Nick Kralevich authored
      During factory provisioning, some manufacturers may need to pull files
      from /factory (label efs_file and bluetooth_efs_file) to collect
      device specific identifiers such as the mac address, using commands
      similar to the following:
      
        adb shell cat /factory/ssn
        adb shell cat /factory/bt/bd_addr.conf
        adb shell cat /factory/wifi/mac.txt
        adb shell cat /factory/60isn
      
      read-only access to these files is currently disallowed by a
      neverallow rule. Relax the rules to allow read-only access to the
      shell user if desired.
      
      No new SELinux rules are added or deleted by this change. This is
      only a relaxation in what's allowed for vendor specific policy.
      
      Bug: 17600278
      
      (cherry picked from commit 200a9f0e)
      
      Change-Id: I2e277b1068a35cc06e0973df994ec3a49f2c26e7
      a8b651bf
  30. Sep 22, 2014
    • Nick Kralevich's avatar
      relax appdomain efs_file neverallow rules · 200a9f0e
      Nick Kralevich authored
      During factory provisioning, some manufacturers may need to pull files
      from /factory (label efs_file and bluetooth_efs_file) to collect
      device specific identifiers such as the mac address, using commands
      similar to the following:
      
        adb shell cat /factory/ssn
        adb shell cat /factory/bt/bd_addr.conf
        adb shell cat /factory/wifi/mac.txt
        adb shell cat /factory/60isn
      
      read-only access to these files is currently disallowed by a
      neverallow rule. Relax the rules to allow read-only access to the
      shell user if desired.
      
      No new SELinux rules are added or deleted by this change. This is
      only a relaxation in what's allowed for vendor specific policy.
      
      Bug: 17600278
      Change-Id: I13f33f996c077918dce70a5cff31a87eac436678
      200a9f0e
Loading