Skip to content
Snippets Groups Projects
  1. Jan 07, 2017
  2. Nov 30, 2016
    • Nick Kralevich's avatar
      domain_deprecated.te: remove /proc/net access · dd649da8
      Nick Kralevich authored
      Remove /proc/net access to domain_deprecated. Add it to domains where it
      was missing before.
      
      Other than these domains, SELinux denial monitoring hasn't picked up any
      denials related to /proc/net
      
      Bug: 28760354
      Test: Device boots
      Test: No unexpected denials in denial collection logs.
      Change-Id: Ie5bfa4bc0070793c1e8bf3b00676fd31c08d426a
      dd649da8
  3. Nov 28, 2016
    • Nick Kralevich's avatar
      Add directory read permissions to certain domains. · 49e35884
      Nick Kralevich authored
      Addresses the following denials and auditallows:
      
      avc: denied { read } for pid=561 comm="hwservicemanage" name="hw"
      dev="dm-0" ino=1883 scontext=u:r:hwservicemanager:s0
      tcontext=u:object_r:system_file:s0 tclass=dir permissive=0
      
      avc: denied { read } for pid=748 comm="gatekeeperd" name="hw" dev="dm-0"
      ino=1883 scontext=u:r:gatekeeperd:s0 tcontext=u:object_r:system_file:s0
      tclass=dir permissive=0
      
      avc: granted { read open } for pid=735 comm="fingerprintd"
      path="/system/lib64/hw" dev="dm-0" ino=1883 scontext=u:r:fingerprintd:s0
      tcontext=u:object_r:system_file:s0 tclass=dir
      
      Test: no denials on boot
      Change-Id: Ic363497e3ae5078e564d7195f3739a654860a32f
      49e35884
  4. Nov 26, 2016
  5. Nov 20, 2016
    • Nick Kralevich's avatar
      domain_deprecated.te: delete stale permissions · f2de0752
      Nick Kralevich authored
      auditallows have been in place for quite a while now, and nothing has
      triggered. Let's do some cleanup!
      
      Bug: 28760354
      Test: device boots and no new denials
      Test: SELinux denials collection has seen no instances of these
            permissions
      Change-Id: I9293f8d8756c9db6307e344c32cd11b9e0183e7f
      f2de0752
  6. Nov 08, 2016
    • Nick Kralevich's avatar
      installd: r_dir_file(installd, system_file) · 68f23364
      Nick Kralevich authored
      Allow installd to read through files, directories, and symlinks
      on /system. This is needed to support installd using files in
      /system/app and /system/priv-app
      
      Addresses the following auditallow spam:
      
      avc: granted { getattr } for comm="installd"
      path="/system/app/Bluetooth/lib/arm/libbluetooth_jni.so"
      dev="mmcblk0p41" ino=19 scontext=u:r:installd:s0
      tcontext=u:object_r:system_file:s0 tclass=lnk_file
      
      avc: granted { getattr } for comm="installd"
      path="/system/priv-app/MtpDocumentsProvider/lib/arm64/libappfuse_jni.so"
      dev="dm-0" ino=2305 scontext=u:r:installd:s0
      tcontext=u:object_r:system_file:s0 tclass=lnk_file
      
      avc: granted { read open } for comm="installd"
      path="/system/priv-app/TelephonyProvider" dev="mmcblk0p43" ino=1839
      scontext=u:r:installd:s0 tcontext=u:object_r:system_file:s0 tclass=dir
      
      avc: granted { read } for comm="installd" name="Velvet" dev="mmcblk0p43"
      ino=1841 scontext=u:r:installd:s0 tcontext=u:object_r:system_file:s0
      tclass=dir
      
      avc: granted { read open } for comm="installd"
      path="/system/priv-app/GoogleOneTimeInitializer" dev="mmcblk0p43"
      ino=1778 scontext=u:r:installd:s0 tcontext=u:object_r:system_file:s0
      tclass=dir
      
      avc: granted { read open } for comm="installd"
      path="/system/app/PlayAutoInstallConfig" dev="mmcblk0p43" ino=112
      scontext=u:r:installd:s0 tcontext=u:object_r:system_file:s0 tclass=dir
      
      Test: policy compiles
      Change-Id: I5d14ea2cd7d281f949d0651b9723d5b7fae2e1f2
      68f23364
  7. Oct 29, 2016
    • Nick Kralevich's avatar
      Get rid of more auditallow spam · 2c8ea36a
      Nick Kralevich authored
      Addresses the following audit messages:
      
      [    7.984957] type=1400 audit(33873666.610:40): avc: granted { getattr
      } for pid=1 comm="init" name="system@framework@boot-ext.art" dev="dm-2"
      ino=106324 scontext=u:r:init:s0
      tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file
      
      [   65.528068] type=1400 audit(1477751916.508:96): avc: granted { search
      } for pid=6330 comm="main" name="/" dev="cgroup" ino=12428
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=dir
      
      [   65.530425] type=1400 audit(1477751916.508:97): avc: granted { search
      } for pid=6330 comm="main" name="/" dev="cgroup" ino=12428
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=dir
      
      [   65.530487] type=1400 audit(1477751916.508:98): avc: granted { open }
      for pid=6330 comm="main" path="/dev/cpuctl/tasks" dev="cgroup" ino=12429
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=file
      
      [   65.530800] type=1400 audit(1477751916.508:98): avc: granted { open }
      for pid=6330 comm="main" path="/dev/cpuctl/tasks" dev="cgroup" ino=12429
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=file
      
      [   65.530842] type=1400 audit(1477751916.508:99): avc: granted { search
      } for pid=6330 comm="main" name="/" dev="cgroup" ino=12428
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=dir
      
      [   65.531138] type=1400 audit(1477751916.508:99): avc: granted { search
      } for pid=6330 comm="main" name="/" dev="cgroup" ino=12428
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=dir
      
      [   65.531176] type=1400 audit(1477751916.508:100): avc: granted {
      search } for pid=6330 comm="main" name="bg_non_interactive" dev="cgroup"
      ino=12444 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0
      tclass=dir
      
      [   65.531465] type=1400 audit(1477751916.508:100): avc: granted {
      search } for pid=6330 comm="main" name="bg_non_interactive" dev="cgroup"
      ino=12444 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0
      tclass=dir
      
      [   65.531502] type=1400 audit(1477751916.508:101): avc: granted { open
      } for pid=6330 comm="main" path="/dev/cpuctl/bg_non_interactive/tasks"
      dev="cgroup" ino=12445 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:cgroup:s0 tclass=file
      
      [   65.531789] type=1400 audit(1477751916.508:101): avc: granted { open
      } for pid=6330 comm="main" path="/dev/cpuctl/bg_non_interactive/tasks"
      dev="cgroup" ino=12445 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:cgroup:s0 tclass=file
      
      [   65.531827] type=1400 audit(1477751916.508:102): avc: granted {
      search } for pid=6330 comm="main" name="/" dev="cgroup" ino=12459
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=dir
      
      [   65.713056] type=1400 audit(1477751916.508:102): avc: granted {
      search } for pid=6330 comm="main" name="/" dev="cgroup" ino=12459
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:cgroup:s0 tclass=dir
      
      Bug: 32246161
      Test: policy compiles
      Test: dumpstate no longer generates the audit messages above.
      Change-Id: Id5afe2ebeb24f8a7407aac1a0a09806b1521b0e4
      2c8ea36a
  8. Oct 28, 2016
    • Nick Kralevich's avatar
      Get rid of auditallow spam. · 79a08e13
      Nick Kralevich authored
      Fixes the following SELinux messages when running adb bugreport:
      
      avc: granted { read } for name="libart.so" dev="dm-0" ino=1886
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0 tclass=file
      
      avc: granted { read open } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { getattr } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { read } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { read } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { read } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { read } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { read execute } for path="/system/lib64/libart.so"
      dev="dm-0" ino=1886 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:libart_file:s0 tclass=file
      
      avc: granted { read } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { read } for path="/system/lib64/libart.so" dev="dm-0"
      ino=1886 scontext=u:r:dumpstate:s0 tcontext=u:object_r:libart_file:s0
      tclass=file
      
      avc: granted { search } for name="dalvik-cache" dev="dm-2" ino=106289
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:dalvikcache_data_file:s0
      tclass=dir
      
      avc: granted { getattr } for path="/data/dalvik-cache/arm64" dev="dm-2"
      ino=106290 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:dalvikcache_data_file:s0 tclass=dir
      
      avc: granted { search } for name="dalvik-cache" dev="dm-2" ino=106289
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:dalvikcache_data_file:s0
      tclass=dir
      
      avc: granted { search } for name="arm64" dev="dm-2" ino=106290
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:dalvikcache_data_file:s0
      tclass=dir
      
      avc: granted { getattr } for
      path="/data/dalvik-cache/arm64/system@framework@boot.art" dev="dm-2"
      ino=106318 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file
      
      avc: granted { search } for name="dalvik-cache" dev="dm-2" ino=106289
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:dalvikcache_data_file:s0
      tclass=dir
      
      avc: granted { search } for name="arm64" dev="dm-2" ino=106290
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:dalvikcache_data_file:s0
      tclass=dir
      
      avc: granted { read } for name="system@framework@boot.art" dev="dm-2"
      ino=106318 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file
      
      avc: granted { read open } for
      path="/data/dalvik-cache/arm64/system@framework@boot.art" dev="dm-2"
      ino=106318 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file
      
      avc: granted { search } for name="dalvik-cache" dev="dm-2" ino=106289
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:dalvikcache_data_file:s0
      tclass=dir
      
      [  169.349480] type=1400 audit(1477679159.734:129): avc: granted { read
      } for pid=6413 comm="main" name="ipv6_route" dev="proc" ino=4026535947
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.350030] type=1400 audit(1477679159.734:130): avc: granted { read
      open } for pid=6413 comm="main" path="/proc/6413/net/ipv6_route"
      dev="proc" ino=4026535947 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.350361] type=1400 audit(1477679159.734:130): avc: granted { read
      open } for pid=6413 comm="main" path="/proc/6413/net/ipv6_route"
      dev="proc" ino=4026535947 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.350399] type=1400 audit(1477679159.734:131): avc: granted {
      getattr } for pid=6413 comm="main" path="/proc/6413/net/ipv6_route"
      dev="proc" ino=4026535947 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.350963] type=1400 audit(1477679159.734:131): avc: granted {
      getattr } for pid=6413 comm="main" path="/proc/6413/net/ipv6_route"
      dev="proc" ino=4026535947 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.351002] type=1400 audit(1477679159.734:132): avc: granted { read
      } for pid=6413 comm="main" name="if_inet6" dev="proc" ino=4026535946
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.351330] type=1400 audit(1477679159.734:132): avc: granted { read
      } for pid=6413 comm="main" name="if_inet6" dev="proc" ino=4026535946
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.351366] type=1400 audit(1477679159.734:133): avc: granted { read
      open } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.351861] type=1400 audit(1477679159.734:133): avc: granted { read
      open } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.351910] type=1400 audit(1477679159.734:134): avc: granted {
      getattr } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.353105] type=1400 audit(1477679159.734:134): avc: granted {
      getattr } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.353186] type=1400 audit(1477679159.734:135): avc: granted { read
      } for pid=6413 comm="main" name="if_inet6" dev="proc" ino=4026535946
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.353594] type=1400 audit(1477679159.734:135): avc: granted { read
      } for pid=6413 comm="main" name="if_inet6" dev="proc" ino=4026535946
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.353636] type=1400 audit(1477679159.734:136): avc: granted { read
      open } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.354230] type=1400 audit(1477679159.734:136): avc: granted { read
      open } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.354437] type=1400 audit(1477679159.734:137): avc: granted {
      getattr } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      [  169.395359] type=1400 audit(1477679159.734:137): avc: granted {
      getattr } for pid=6413 comm="main" path="/proc/6413/net/if_inet6"
      dev="proc" ino=4026535946 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_net:s0 tclass=file
      
      Test: policy compiles
      Test: adb bugreport runs without auditallow messages above.
      Bug: 32246161
      Change-Id: Ie0ab2ed3c6babc1f93d3b8ae47c92dd905ebc93a
      79a08e13
  9. Oct 06, 2016
    • 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
  10. Oct 02, 2016
  11. Oct 01, 2016
    • Jeff Vander Stoep's avatar
      mediaserver drmserver: remove domain_deprecated attribute · 3a0721a3
      Jeff Vander Stoep authored
      avc: granted { use } for pid=3067 comm="SoundPoolThread"
      scontext=u:r:drmserver:s0 tcontext=u:r:system_server:s0 tclass=fd
      
      Test: builds/boots on Angler. Adds permissions for all "granted" avc
      messages observed in three months of log auditing.
      
      Bug: 28760354
      Change-Id: I51f13d7c7d40f479b1241dfcd5d925d28f74926b
      3a0721a3
  12. Sep 24, 2016
  13. Sep 13, 2016
  14. Sep 12, 2016
  15. Sep 10, 2016
  16. Aug 29, 2016
    • Jeff Vander Stoep's avatar
      DO NOT MERGE: Allow kernel to read proc · c8820d04
      Jeff Vander Stoep authored
      (cherry picked from commit 48d68a64)
      
      Remove audit messaged.
      
      Addresses:
      avc:  granted  { read } for  pid=1 comm="init" name="cmdline" dev="proc" ino=4026535448 scontext=u:r:kernel:s0 tcontext=u:object_r:proc:s0 tclass=file
      avc:  granted  { read open } for  pid=1 comm="init" path="/proc/cmdline" dev="proc" ino=4026535448 scontext=u:r:kernel:s0 tcontext=u:object_r:proc:s0 tclass=file
      
      Bug: 28760354
      Change-Id: I48ea01b35c6d1b255995484984ec92203b6083be
      c8820d04
    • Jeff Vander Stoep's avatar
      DO NOT MERGE: domain_deprecate: remove observed audit messages · 3dfef1fd
      Jeff Vander Stoep authored
      (cherry picked from commit 8486f4e6)
      
      Grant observed permissions
      
      Addresses:
      init
      avc:  granted  { use } for  pid=1 comm="init" path="/sys/fs/selinux/null" dev="selinuxfs" ino=22 scontext=u:r:init:s0 tcontext=u:r:kernel:s0 tclass=fd
      
      mediaextractor
      avc: granted { getattr } for pid=582 comm="mediaextractor" path="/proc/meminfo" dev="proc" ino=4026535447 scontext=u:r:mediaextractor:s0 tcontext=u:object_r:proc_meminfo:s0 tclass=file
      avc: granted { read } for pid=582 comm="mediaextractor" name="meminfo" dev="proc" ino=4026535447 scontext=u:r:mediaextractor:s0 tcontext=u:object_r:proc_meminfo:s0 tclass=file
      avc: granted { read open } for pid=582 comm="mediaextractor" path="/proc/meminfo" dev="proc" ino=4026535447 scontext=u:r:mediaextractor:s0 tcontext=u:object_r:proc_meminfo:s0 tclass=file
      
      uncrypt
      avc: granted { getattr } for pid=6750 comm="uncrypt" path="/fstab.angler" dev="rootfs" ino=9809 scontext=u:r:uncrypt:s0 tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read } for pid=6750 comm="uncrypt" name="fstab.angler" dev="rootfs" ino=9809 scontext=u:r:uncrypt:s0 tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read open } for pid=6750 comm="uncrypt" path="/fstab.angler" dev="rootfs" ino=9809 scontext=u:r:uncrypt:s0 tcontext=u:object_r:rootfs:s0 tclass=file
      
      Bug: 28760354
      Change-Id: Ibd51473c55d957aa7375de60da67cdc6504802f9
      3dfef1fd
    • Jeff Vander Stoep's avatar
      DO NOT MERGE: audit domain_deprecated perms for removal · fe8d6739
      Jeff Vander Stoep authored
      Grant permissions observed.
      
      (cherry picked from commit 9c820a11)
      
      Merged-in: Ifdead51f873eb587556309c48fb84ff1542ae303
      Bug: 28760354
      Change-Id: Ifdead51f873eb587556309c48fb84ff1542ae303
      fe8d6739
  17. May 12, 2016
    • dcashman's avatar
      DO NOT MERGE. Remove isolated_app's ability to read sysfs. · b84c86b2
      dcashman authored
      untrusted_app lost the ability to read files labeled as sysfs to prevent
      information leakage, but this is trivially bypassable by spawning an
      isolated app, since this was not taken away from isolated app.
      Privileges should not be gained by launching an isolated app, and this
      one directly defeats that hardeneing. Remove this access.
      
      Bug: 28722489
      Change-Id: I61d3678eca515351c9dbe4444ee39d0c89db7a3e
      b84c86b2
  18. Apr 23, 2016
  19. Mar 31, 2016
    • Nick Kralevich's avatar
      bootanim: allow /proc/meminfo read · 7a35c136
      Nick Kralevich authored
      Allow /proc/meminfo to be read by bootanim. Not sure why
      it's needed, but harmless enough.
      
      Modify domain_deprecated so it doesn't use r_dir_file().
      /proc/meminfo is neither a symlink nor a directory, so it doesn't
      make sense to create allow rules for those classes of objects.
      
      Addresses the following denial:
      
        avc: denied { read } for comm="BootAnimation" name="meminfo" dev="proc"
        ino=4026536593 scontext=u:r:bootanim:s0
        tcontext=u:object_r:proc_meminfo:s0 tclass=file permissive=0
      
      This denial is only showing up on flounder, flounder_lte, or
      dragon devices. I'm not sure why.
      
      Change-Id: I0f808bcae47fc2fda512cd147c3b44593835cac5
      7a35c136
  20. Mar 11, 2016
  21. Feb 24, 2016
    • dcashman's avatar
      Label /proc/meminfo. · f25ea5f9
      dcashman authored
      Address the following denial:
      m.chrome.canary: type=1400 audit(0.0:15): avc: granted { read open } for path="/proc/meminfo" dev="proc" ino=4026544360 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file
      
      (cherry-pick of internal commit: 971aeeda)
      
      Bug: 22032619
      Chromium Bug: 586021
      
      Change-Id: I2dcb2d4800bbc92ea47c37d4fd7a10f827a0114c
      f25ea5f9
    • dcashman's avatar
      Label /proc/meminfo. · 971aeeda
      dcashman authored
      Address the following denial:
      m.chrome.canary: type=1400 audit(0.0:15): avc: granted { read open } for path="/proc/meminfo" dev="proc" ino=4026544360 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file
      
      Bug: 22032619
      Chromium Bug: 586021
      
      Change-Id: I584345c84d870c313da69ec97a0b1e54c0eb9ee1
      971aeeda
  22. Jan 27, 2016
    • Jeff Vander Stoep's avatar
      domain: grant write perms to cgroups · be0616ba
      Jeff Vander Stoep authored
      Was moved to domain_deprecated. Move back to domain.
      
      Files in /acct/uid/*/tasks are well protected by unix permissions.
      No information is leaked with write perms.
      
      Change-Id: I8017e906950cba41ce350bc0892a36269ade8d53
      be0616ba
  23. Jan 21, 2016
    • dcashman's avatar
      Allow domains to stat filesystems. · fcea7263
      dcashman authored
      Address the following denials:
      01-21 12:44:53.704  4595  4595 W ndroid.calendar: type=1400 audit(0.0:21): avc: denied { getattr } for name="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:labeledfs:s0 tclass=filesystem permissive=0
      01-21 12:45:23.177  5544  5544 W roid.music:main: type=1400 audit(0.0:46): avc: denied { getattr } for name="/" dev="rootfs" ino=1 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=filesystem permissive=0
      7618 W .android.chrome: type=1400 audit(0.0:413): avc: denied { getattr } for path="/" dev="rootfs" ino=1 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=0
      
      01-21 12:44:53.709  4595  4595 D AndroidRuntime: Shutting down VM
      01-21 12:44:53.727  4595  4595 E AndroidRuntime: FATAL EXCEPTION: main
      01-21 12:44:53.727  4595  4595 E AndroidRuntime: Process: com.google.android.calendar, PID: 4595
      01-21 12:44:53.727  4595  4595 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.google.android.syncadapters.calendar.timely.TimelyProvider: java.lang.IllegalArgumentException: Invalid path: /data
      01-21 12:44:53.727  4595  4595 E AndroidRuntime: 	at android.app.ActivityThread.installProvider(ActivityThread.java:5550)
      ...
      
      Change-Id: I0e9d65438d031e19c9abc5dca8969ed4356437a0
      fcea7263
  24. Jan 16, 2016
  25. Jan 07, 2016
  26. Jan 06, 2016
    • Nick Kralevich's avatar
      domain_deprecated.te: Exclude recovery from auditallow for /cache/recovery · 829a7493
      Nick Kralevich authored
      Recovery uses /cache/recovery. Exclude it from auditallow coverage.
      
      Addresses the following SELinux log spam:
      
        avc:  granted  { search } for  pid=323 comm="recovery" name="recovery" dev="mmcblk0p38" ino=12 scontext=u:r:recovery:s0 tcontext=u:object_r:cache_recovery_file:s0 tclass=dir
        avc:  granted  { read } for  pid=323 comm="recovery" name="block.map" dev="mmcblk0p38" ino=26 scontext=u:r:recovery:s0 tcontext=u:object_r:cache_recovery_file:s0 tclass=file
        avc:  granted  { getattr } for  pid=323 comm="recovery" path="/cache/recovery/block.map" dev="mmcblk0p38" ino=26 scontext=u:r:recovery:s0 tcontext=u:object_r:cache_recovery_file:s0 tclass=file
      
      Change-Id: Ib6c7b44ac23fccaf2ea506429fb760ee85e87c76
      829a7493
  27. Jan 04, 2016
    • Felipe Leme's avatar
      Creates a new permission for /cache/recovery · 549ccf77
      Felipe Leme authored
      This permission was created mostly for dumpstate (so it can include
      recovery files on bugreports when an OTA fails), but it was applied to
      uncrypt and recovery as well (since it had a wider access before).
      
      Grant access to cache_recovery_file where we previously granted access
      to cache_file. Add auditallow rules to determine if this is really
      needed.
      
      BUG: 25351711
      Change-Id: I07745181dbb4f0bde75694ea31b3ab79a4682f18
      549ccf77
  28. Dec 23, 2015
    • Nick Kralevich's avatar
      undeprecate /proc/cpuinfo, more shell permissions · f8f937a1
      Nick Kralevich authored
      Access to /proc/cpuinfo was moved to domain_deprecated in commit
      6e3506e1. Restore access to everyone.
      
      Allow the shell user to stat() /dev, and vfsstat() /proc and other
      labeled filesystems such as /system and /data.
      
      Access to /proc/cpuinfo was explicitly granted to bootanim, but is no
      longer required after moving it back to domain.te. Delete the redundant
      entry.
      
      Commit 4e2d2245 restored access to
      /sys/devices/system/cpu for all domains, but forgot to remove the
      redundant entry from bootanim.te. Cleanup the redundant entry.
      
      Addresses the following denials:
      
        avc: denied { getattr } for pid=23648 comm="bionic-unit-tes" name="/" dev="proc" ino=1 scontext=u:r:shell:s0 tcontext=u:object_r:proc:s0 tclass=filesystem permissive=0
        avc: denied { read } for name="cpuinfo" dev="proc" ino=4026533615 scontext=u:r:shell:s0 tcontext=u:object_r:proc_cpuinfo:s0 tclass=file permissive=0
        avc: denied { getattr } for pid=23713 comm="bionic-unit-tes" path="/dev" dev="tmpfs" ino=11405 scontext=u:r:shell:s0 tcontext=u:object_r:device:s0 tclass=dir permissive=0
        avc: denied { getattr } for name="/" dev="mmcblk0p30" ino=2 scontext=u:r:shell:s0 tcontext=u:object_r:labeledfs:s0 tclass=filesystem permissive=0
      
      Bug: 26295417
      Change-Id: Ia85ac91cbd43235c0f8fe0aebafffb8046cc77ec
      f8f937a1
  29. Dec 14, 2015
    • Nick Kralevich's avatar
      label /sys/kernel/debug/tracing and remove debugfs write · fe12b616
      Nick Kralevich authored
      Start labeling the directory /sys/kernel/debug/tracing. The files
      in this directory need to be writable to the shell user.
      
      Remove global debugfs:file write access. This was added in the days
      before we could label individual debugfs files.
      
      Change-Id: I79c1fcb63b4b9b903dcabd99b6b25e201fe540a3
      fe12b616
  30. Dec 10, 2015
    • Nick Kralevich's avatar
      Restore sysfs_devices_system_cpu to domain.te · 4e2d2245
      Nick Kralevich authored
      Lots of processes access CPU information. This seems to be triggered
      by libraries loaded into every Android process. Allow the access.
      
      Addresses the following denials:
      
      adbd    : type=1400 audit(0.0:3): avc: denied { search } for name="cpu" dev="sysfs" ino=32 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=dir permissive=1
      adbd    : type=1400 audit(0.0:4): avc: denied { read } for name="online" dev="sysfs" ino=34 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=file permissive=1
      adbd    : type=1400 audit(0.0:5): avc: denied { open } for path="/sys/devices/system/cpu/online" dev="sysfs" ino=34 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=file permissive=1
      adbd    : type=1400 audit(0.0:6): avc: denied { getattr } for path="/sys/devices/system/cpu/online" dev="sysfs" ino=34 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=file permissive=1
      
      Change-Id: Ie7bfae53bdf670028db724d2720447ead42bad35
      4e2d2245
  31. Dec 08, 2015
  32. Nov 28, 2015
    • Nick Kralevich's avatar
      Remove domain_deprecated from adbd and shell · 8ca19368
      Nick Kralevich authored
      The extra permissions are not needed. Delete them.
      
      This change also adds read permission for /data/misc/zoneinfo
      back to all domains. libc refernces this directory for timezone
      related files, and it feels dangerous and of little value to
      try to restrict access. In particular, this causes problems when the
      shell user attempts to run "ls -la" to show file time stamps in
      the correct timezone.
      
      Bug: 25433265
      Change-Id: I666bb460e440515151e3bf46fe2e0ac0e7c99f46
      8ca19368
  33. Nov 09, 2015
  34. Nov 03, 2015
    • Jeff Vander Stoep's avatar
      Create attribute for moving perms out of domain · d22987b4
      Jeff Vander Stoep authored
      Motivation: Domain is overly permissive. Start removing permissions
      from domain and assign them to the domain_deprecated attribute.
      Domain_deprecated and domain can initially be assigned to all
      domains. The goal is to not assign domain_deprecated to new domains
      and to start removing domain_deprecated where it is not required or
      reassigning the appropriate permissions to the inheriting domain
      when necessary.
      
      Bug: 25433265
      Change-Id: I8b11cb137df7bdd382629c98d916a73fe276413c
      d22987b4
Loading