Skip to content
Snippets Groups Projects
  1. Jul 12, 2017
  2. Jul 11, 2017
    • Robert Benea's avatar
      Merge "sepolicy: fix support for lmkd" · 6116489c
      Robert Benea authored
      6116489c
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove rootfs access · a12aad45
      Jeff Vander Stoep authored
      Grant audited permissions collected in logs.
      
      tcontext=platform_app
      avc: granted { getattr } for comm=496E666C6174657254687265616420
      path="/" dev="dm-0" ino=2 scontext=u:r:platform_app:s0:c512,c768
      tcontext=u:object_r:rootfs:s0 tclass=dir
      
      tcontext=system_app
      avc: granted { getattr } for comm="android:ui" path="/" dev="dm-0"
      scontext=u:r:system_app:s0 tcontext=u:object_r:rootfs:s0 tclass=dir
      avc: granted { getattr } for comm="android:ui" path="/" dev="dm-0"
      scontext=u:r:system_app:s0 tcontext=u:object_r:rootfs:s0 tclass=dir
      
      tcontext=update_engine
      avc: granted { getattr } for comm="update_engine" path="/" dev="dm-0"
      ino=2 scontext=u:r:update_engine:s0 tcontext=u:object_r:rootfs:s0
      tclass=dir
      avc: granted { getattr } for comm="update_engine" path="/fstab.foo"
      dev="dm-0" ino=25 scontext=u:r:update_engine:s0
      tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read open } for comm="update_engine" path="/fstab.foo"
      dev="dm-0" ino=25 scontext=u:r:update_engine:s0
      tcontext=u:object_r:rootfs:s0 tclass=file
      
      Bug: 28760354
      Test: build
      Change-Id: I6135eea1d10b903a4a7e69da468097f495484665
      a12aad45
    • Robert Benea's avatar
      sepolicy: fix support for lmkd · e62cf5e5
      Robert Benea authored
      Allow lmkd to access /dev/memcg once again.
      
      Test: lmkd can access memcg
      bug: 36588803
      Change-Id: I1f46b438050d95cebd2fcc495938192305fc9fc9
      e62cf5e5
  3. Jul 10, 2017
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove cgroup access · 72b26547
      Jeff Vander Stoep authored
      Logs indicate that all processes that require read access
      have already been granted it.
      
      Bug: 28760354
      Test: build policy
      Merged-In: I5826c45f54af32e3d4296df904c8523bb5df5e62
      Change-Id: I5826c45f54af32e3d4296df904c8523bb5df5e62
      72b26547
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove cache access · 790f4c7e
      Jeff Vander Stoep authored
      Address the "granted" permissions observed in the logs including:
      
      tcontext=uncrypt
      avc: granted { search } for comm="uncrypt" name="/" dev="mmcblk0p40"
      ino=2 scontext=u:r:uncrypt:s0 tcontext=u:object_r:cache_file:s0
      tclass=dir
      
      tcontext=install_recovery
      avc: granted { search } for comm="applypatch" name="saved.file"
      scontext=u:r:install_recovery:s0 tcontext=u:object_r:cache_file:s0
      tclass=dir
      avc: granted { read } for comm="applypatch" name="saved.file"
      dev="mmcblk0p6" ino=14 scontext=u:r:install_recovery:s0
      tcontext=u:object_r:cache_file:s0 tclass=file
      avc: granted { getattr } for comm="applypatch" path="/cache/saved.file"
      dev="mmcblk0p6" ino=14 scontext=u:r:install_recovery:s0
      tcontext=u:object_r:cache_file:s0 tclass=file
      
      tcontext=update_engine
      avc: granted { search } for comm="update_engine" name="cache"
      dev="sda35" ino=1409025 scontext=u:r:update_engine:s0
      tcontext=u:object_r:cache_file:s0 tclass=dir"
      avc: granted { read } for comm="update_engine" name="update.zip"
      dev="sda35" ino=1409037 scontext=u:r:update_engine:s0
      tcontext=u:object_r:cache_file:s0:c512,c768 tclass=file
      avc: granted { read } for comm="update_engine" name="cache" dev="dm-0"
      ino=16 scontext=u:r:update_engine:s0 tcontext=u:object_r:cache_file:s0
      tclass=lnk_file
      
      Bug: 28760354
      Test: build policy.
      Merged-In: Ia13fe47268df904bd4f815c429a0acac961aed1e
      Change-Id: Ia13fe47268df904bd4f815c429a0acac961aed1e
      790f4c7e
    • Lorenzo Colitti's avatar
      Temporarily revert the SELinux policy for persist.netd.stable_secret. · 07e631d2
      Lorenzo Colitti authored
      This change did not make it into core sepolicy in time for O.
      The revert allows devices to define these selinux policies in
      vendor-specific sepolicy instead of core sepolicy. It is
      necessary because:
      
      1. It is too late to change property_contexts in O.
      2. Adding the netd_stable_secret prop to vendor sepolicy results
         in a duplicate definition error at compile time.
      3. Defining a new vendor-specific context (such as
         net_stable_secret_vendor_prop) and applying it to
         persist.netd.stable_secret results in the device not booting
         due to attempting to apply two different contexts to the same
         property.
      
      Lack of the sepolicy no longer breaks wifi connectivity now that
      IpManager no longer considers failure to set the stable secret to
      be a fatal error.
      
      Once all interested devices have adopted the vendor sepolicy,
      this policy can safely be reinstated by reverting said vendor
      sepolicies in internal master.
      
      This reverts commit abb1ba65.
      
      Bug: 17613910
      Test: bullhead builds, boots, connects to wifi
      Change-Id: Idffcf78491171c54bca9f93cb920eab9b1c47709
      07e631d2
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove access to /proc/meminfo · 3e5bb807
      Jeff Vander Stoep authored
      Logs indicate that all processes that require access already have it.
      
      Bug: 28760354
      Test: build
      Merged-In: I3dfa16bf4fba7f653c5f8525e8c565e9e24334a8
      Change-Id: I3dfa16bf4fba7f653c5f8525e8c565e9e24334a8
      3e5bb807
    • Jeff Vander Stoep's avatar
      dumpstate: remove domain_deprecated attribute · 90ae4f6b
      Jeff Vander Stoep authored
      Clean up "granted" logspam. Grant the observered audited permissions
      including:
      
      tcontext=cache_file
      avc: granted { getattr } for comm="df" path="/cache" dev="mmcblk0p9"
      ino=2 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cache_file:s0
      tclass=dir
      avc: granted { search } for comm="Binder:8559_2" name="cache"
      dev="sda13" ino=1654785 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:cache_file:s0 tclass=dir
      avc: granted { read } for comm="Binder:8559_2" name="cache" dev="dm-0"
      ino=23 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cache_file:s0
      tclass=lnk_file
      
      tcontext=proc
      avc: granted { getattr } for comm="Binder:14529_2"
      path="/proc/sys/fs/pipe-max-size" dev="proc" ino=247742
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0
      tclass=file
      avc: granted { read } for comm="Binder:22671_2" name="cmdline"
      dev="proc" ino=4026532100 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc:s0 tclass=file
      avc: granted { read open } for comm="dumpstate"
      path="/proc/sys/fs/pipe-max-size" dev="proc" ino=105621
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0
      tclass=file
      
      tcontext=sysfs
      avc: granted { read open } for comm="Binder:14459_2"
      path="/sys/devices/virtual/block/md0/stat" dev="sysfs" ino=51101
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs:s0 tclass=file
      avc: granted { read open } for comm="Binder:21377_2"
      path="/sys/devices/soc/1da4000.ufshc/host0/target0:0:0/0:0:0:1/block/sdb/sdb1"
      dev="sysfs" ino=40888 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:sysfs:s0 tclass=dir
      avc: granted { getattr } for comm="dumpstate" dev="sysfs" ino=40456
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs:s0 tclass=file
      
      tcontext=proc_meminfo
      avc: granted { read } for comm="top" name="meminfo" dev="proc"
      ino=4026532106 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_meminfo:s0 tclass=file
      avc: granted { read open } for comm="top" path="/proc/meminfo"
      dev="proc" ino=4026532106 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:proc_meminfo:s0 tclass=file
      
      tcontext=rootfs
      avc: granted { getattr } for comm="df" path="/" dev="dm-0" ino=2
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:rootfs:s0 tclass=dir
      avc: granted { getattr } for comm="ip" path="/vendor" dev="rootfs"
      ino=99 scontext=u:r:dumpstate:s0 tcontext=u:object_r:rootfs:s0
      tclass=lnk_file
      
      tcontext=selinuxfs
      avc: granted { getattr } for comm="df" path="/sys/fs/selinux"
      dev="selinuxfs" ino=1 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:selinuxfs:s0 tclass=dir
      
      tcontext=system_file
      avc: granted { read open } for comm="dumpstate" path="/system/lib64/hw"
      dev="dm-0" ino=1947 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:system_file:s0 tclass=dir
      
      tcontext=system_data_file
      avc: granted { read } for comm="ip" path="/data/misc/net/rt_tables"
      dev="sda10" ino=1458261 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:system_data_file:s0 tclass=file
      avc: granted { getattr } for comm="ip" path="/data/misc/net/rt_tables"
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:system_data_file:s0
      tclass=file
      
      Bug: 28760354
      Test: Build policy
      Change-Id: Iae69f710d6b6dc6158cf6bb6ff61168c8df11263
      90ae4f6b
    • Jeff Vander Stoep's avatar
      Remove dumpstate selinux spam from logs · f4ce8f6c
      Jeff Vander Stoep authored
      Addresses:
      avc: granted { read } for name="pipe-max-size" dev="proc" ino=470942 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file
      avc: granted { read open } for path="/proc/sys/fs/pipe-max-size" dev="proc" ino=470942 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file
      
      Test: build policy
      Change-Id: I7d8721c73c4f3c51b3885a97c697510e61d1221b
      (cherry picked from commit f44002b3)
      f4ce8f6c
  4. Jul 06, 2017
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove tmpfs dir access · ca5bb337
      Jeff Vander Stoep authored
      Address "granted" audit messages for dumpstate use of df.
      
      avc: granted { getattr } for comm="df" path="/mnt" dev="tmpfs"
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:tmpfs:s0
      tclass=dir
      avc: granted { search } for comm="df" name="/" dev="tmpfs"
      scontext=u:r:dumpstate:s0 tcontext=u:object_r:tmpfs:s0
      tclass=dir
      
      Bug: 28760354
      Test: Build, check logs.
      Change-Id: I920948a5f0bce1b4bd2f15779730df8b3b1fea5a
      ca5bb337
  5. Jul 03, 2017
    • Treehugger Robot's avatar
      a92d3135
    • Treehugger Robot's avatar
    • Jeff Vander Stoep's avatar
      recovery: clean up audit logspam · 9bbe420b
      Jeff Vander Stoep authored
      avc: granted { search } scontext=u:r:recovery:s0 tcontext=u:object_r:cache_file:s0 tclass=dir
      avc: granted { getattr } scontext=u:r:recovery:s0 tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read } scontext=u:r:recovery:s0 tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read open } scontext=u:r:recovery:s0 tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read } scontext=u:r:recovery:s0 tcontext=u:object_r:sysfs:s0 tclass=file
      avc: granted { read open } scontext=u:r:recovery:s0 tcontext=u:object_r:sysfs:s0 tclass=file
      avc: granted { search } scontext=u:r:recovery:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir
      
      Fixes: 62619253
      Test: policy builds, no more "granted" messages in dmesg for recovery.
      Merged-In: I3f6d8ceee80307a01a8fd40cb4f8362a9825b1a3
      Change-Id: I3f6d8ceee80307a01a8fd40cb4f8362a9825b1a3
      (cherry picked from commit ea1d6e7d)
      9bbe420b
    • Jeffrey Vander Stoep's avatar
    • Jeff Sharkey's avatar
      Allow installd to delete files via sdcardfs. · dd57e698
      Jeff Sharkey authored
      When installd clears cached files on external storage, the sdcardfs
      kernel filesystem needs to be kept in the loop to release any cached
      dentries that it's holding onto.  (Otherwise the underlying disk
      space isn't actually released.)
      
      installd can already delete the underlying files directly (via the
      media_rw_data_file rules), so this technically isn't expanding its
      capabilities.
      
      avc: granted { search } for name="/" dev="tmpfs" ino=6897 scontext=u:r:installd:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir
      avc: denied { open } for path="/mnt/runtime/default/emulated/0/Android/data" dev="sdcardfs" ino=589830 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=1
      avc: denied { write } for name="com.google.android.inputmethod.japanese" dev="sdcardfs" ino=590040 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0
      avc: denied { remove_name } for name="cache_r.m" dev="sdcardfs" ino=589868 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0
      avc: denied { getattr } for path="/mnt/runtime/default/emulated/0/Android/data/.nomedia" dev="sdcardfs" ino=589831 scontext=u:r:installd:s0 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=1
      
      Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
      Bug: 37486230
      Change-Id: Icfd00a9ba379b1f50c48fe85849304cf9859bcb2
      (cherry picked from commit 72f4c619)
      dd57e698
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove ion access · 88e4be54
      Jeff Vander Stoep authored
      Logs show that only dumpstate requires access.
      
      avc: granted { read open } for comm="screencap" path="/dev/ion"
      dev="tmpfs" ino=14324 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:ion_device:s0 tclass=chr_file
      avc: granted { ioctl } for comm="screencap" path="/dev/ion" dev="tmpfs"
      ino=14324 ioctlcmd=4906 scontext=u:r:dumpstate:s0
      tcontext=u:object_r:ion_device:s0 tclass=chr_file
      
      Grant ion permission to dumpstate which uses it for screencap
      feature.
      
      Bug: 28760354
      Test: build. Check logs.
      Change-Id: I6435b7dbf7656669dac5dcfb205cf0aeda93991b
      88e4be54
  6. Jul 01, 2017
  7. Jun 30, 2017
    • Jeff Vander Stoep's avatar
      dexoptanalyzer: suppress access(2) denial · 06aee357
      Jeff Vander Stoep authored
      A legitimate call to access(2) is generating a denial. Use the
      audit_access permission to suppress the denial on just the access()
      call.
      
      avc: denied { write } for name="verified_jars"
      scontext=u:r:dexoptanalyzer:s0
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir
      
      Bug: 62597207
      Test: build policy
      Test: The following cmd succeeds but no longer generates a denial
          adb shell cmd package compile -r bg-dexopt --secondary-dex \
          com.google.android.googlequicksearchbox
      
      Change-Id: I7d03df2754c24c039bce11426bf8f317232f5e5f
      (cherry picked from commit 575e6270)
      06aee357
  8. Jun 26, 2017
    • Stephen Smalley's avatar
      Define smc_socket security class. · 2be9799b
      Stephen Smalley authored
      
      Linux kernel commit da69a5306ab9 ("selinux: support distinctions among all
      network address families") triggers a build error if a new address family
      is added without defining a corresponding SELinux security class.  As a
      result, the smc_socket class was added to the kernel to resolve a build
      failure as part of merge commit 3051bf36c25d that introduced AF_SMC circa
      Linux 4.11.  Define this security class and its access vector, add
      it to the socket_class_set macro, and exclude it from webview_zygote
      like other socket classes.
      
      Test:  Policy builds
      
      Change-Id: Idbb8139bb09c6d1c47f1a76bd10f4ce1e9d939cb
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      2be9799b
    • Treehugger Robot's avatar
  9. Jun 22, 2017
  10. Jun 19, 2017
    • Yabin Cui's avatar
      Avoid audit when running `adb shell -t run-as xxx`. · 3b7d9e49
      Yabin Cui authored
      run-as uses file descriptor created by adbd when running
      `adb shell -t run-as xxx`. It produces audit warnings like below:
      
      [ 2036.555371] c1    509 type=1400 audit(1497910817.864:238): avc: granted { use } for pid=4945 comm="run-as" path="/dev/pts/0" dev="devpts" ino=3 scontext=u:r:runas:s0 tcontext=u:r:adbd:s0 tclass=fd
      
      Bug: http://b/62358246
      Test: test manually that the warning disappears.
      Change-Id: I19023ac876e03ce2afe18982fe753b07e4c876bb
      3b7d9e49
  11. Jun 15, 2017
  12. Jun 13, 2017
    • Tom Cherry's avatar
      Add getpgid to system_service and init · c59eb4d8
      Tom Cherry authored
      In libprocessgroup, we want to only send signals once to processes,
      particularly for SIGTERM.  We must send the signal both to all
      processes within a POSIX process group and a cgroup.  To ensure that
      we do not duplicate the signals being sent, we check the processes in
      the cgroup to see if they're in the POSIX process groups that we're
      killing.  If they are, we skip sending a second signal.  This requires
      getpgid permissions, hence this SELinux change.
      
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=process permissive=1
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=process permissive=1
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:zygote:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:zygote:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:system_server:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:system_server:s0 tclass=process permissive=1
      
      Bug: 37853905
      Bug: 62418791
      Test: Boot, kill zygote, reboot
      Change-Id: Ib6c265dbaac8833c47145ae28fb6594ca8545570
      c59eb4d8
    • Tomonori Nanbu's avatar
      Add sepolicy for hal_wifi to access /proc/modules · 403efef2
      Tomonori Nanbu authored
      Add sepolicy to hal_wifi to access /proc/modules
      to check if Wi-Fi driver is loaded.
      
      Bug: 62013623
      Change-Id: Ib700170095b183a1e0e6a36b64e7c65655174f21
      403efef2
  13. Jun 12, 2017
    • Joel Scherpelz's avatar
      SELinux policy for secure persistent netd storage · abb1ba65
      Joel Scherpelz authored
      This is used to persist RFC 7217 stable secrets across device reboots.
      
      First submit caused a merge conflict. This revision replaces netd_prop
      with a more unique name netd_stable_secret_prop.
      
      Test: as follows
          - Manually tested that stable_secret is generated on first use and
            persists until reset of user data partition (factory reset).
          - Tested that "adb shell getprop" was denied access to
            persist.netd.stable_secret after running "adb unroot".
      Bug: 17613910
      
      Change-Id: I0a609c724799a15b1926e62534c16810d34f2275
      abb1ba65
  14. Jun 08, 2017
    • Bartosz Fabianowski's avatar
      Revert "SELinux policy for secure persistent netd storage" · 06486796
      Bartosz Fabianowski authored
      This broke the build on master. See b/17613910#comment17
      for details.
      
      This reverts commit ef1fd98b.
      
      Change-Id: I11f7d463061a9b6340c11827135586266e26f016
      06486796
    • Joel Scherpelz's avatar
      SELinux policy for secure persistent netd storage · ef1fd98b
      Joel Scherpelz authored
      This is used to persist RFC 7217 stable secrets across device reboots.
      
      Test: as follows
          - Manually tested that stable_secret is generated on first use and
            persists until reset of user data partition (factory reset).
          - Tested that "adb shell getprop" was denied access to
            persist.netd.stable_secret after running "adb unroot".
      Bug: 17613910
      
      Change-Id: I4dad00fb189d697aceaffae49ad63987c7e45054
      ef1fd98b
  15. Jun 06, 2017
  16. Jun 05, 2017
  17. Jun 03, 2017
Loading