Skip to content
Snippets Groups Projects
  1. Jul 24, 2017
    • Jeff Vander Stoep's avatar
      Move domain_deprecated into private policy · 7c34e83f
      Jeff Vander Stoep authored
      This attribute is being actively removed from policy. Since
      attributes are not being versioned, partners must not be able to
      access and use this attribute. Move it from private and verify in
      the logs that rild and tee are not using these permissions.
      
      Bug: 38316109
      Test: build and boot Marlin
      Test: Verify that rild and tee are not being granted any of these
            permissions.
      Merged-In: I31beeb5bdf3885195310b086c1af3432dc6a349b
      Change-Id: I31beeb5bdf3885195310b086c1af3432dc6a349b
      (cherry picked from commit 76aab82c)
      7c34e83f
    • Sandeep Patil's avatar
      Make sure all public types are defined regardless of build variants · 83f8cde4
      Sandeep Patil authored
      
      The types need to be exported so userdebug system.img
      can still build the policy with a user vendor.img at boot time.
      All permissions and attributes for these types are still kept under
      conditional userdebug_or_eng macro
      
      Bug: 37433251
      Test: Boot sailfish-user build with generic_arm64_ab system.img on
            sailfish and make sure sepolicy compilation succeeds
      
      Change-Id: I98e8428c414546dfc74641700d4846edcf9355b1
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      (cherry picked from commit 35e308cf)
      83f8cde4
  2. Jul 23, 2017
    • Jeff Vander Stoep's avatar
      domain_deprecate: remove system_data_file access · 2b75437d
      Jeff Vander Stoep authored
      scontext=installd
      avc: granted { getattr } for comm="Binder:1153_7" path="/data/user/0"
      dev="sda13" ino=1097730 scontext=u:r:installd:s0
      tcontext=u:object_r:system_data_file:s0 tclass=lnk_file
      
      scontext=runas
      avc: granted { getattr } for comm="run-as" path="/data/user/0"
      dev="sda35" ino=942082 scontext=u:r:runas:s0
      tcontext=u:object_r:system_data_file:s0 tclass=lnk_file
      
      scontext=vold
      avc: granted { getattr } for comm="vold" path="/data/data" dev="sda45"
      ino=12 scontext=u:r:vold:s0 tcontext=u:object_r:system_data_file:s0
      tclass=lnk_file
      avc: granted { read } for comm="secdiscard"
      name="3982c444973581d4.spblob" dev="sda45" ino=4620302
      scontext=u:r:vold:s0 tcontext=u:object_r:system_data_file:s0
      tclass=file
      
      Bug: 28760354
      Test: Build
      Change-Id: Id16c43090675572af35f1ad9defd4c368abc906b
      2b75437d
  3. Jul 20, 2017
    • Josh Gao's avatar
      crash_dump_fallback: allow writing to system_server pipes. · 3c9b9197
      Josh Gao authored
      Allow mediacodec/mediaextractor to write to system_server pipes during
      ANR dumps.
      
      Addresses the following denials:
      avc: denied { write } for comm="mediaextractor" path="pipe:[1177610]" dev="pipefs" ino=1177610 scontext=u:r:mediaextractor:s0 tcontext=u:r:system_server:s0 tclass=fifo_file permissive=0
      avc: denied { write } for comm="omx@1.0-service" path="pipe:[1175808]" dev="pipefs" ino=1175808 scontext=u:r:mediacodec:s0 tcontext=u:r:system_server:s0 tclass=fifo_file permissive=0
      
      Bug: http://b/63801592
      Test: treehugger
      Change-Id: I944b1fa76c70402607ccd903be17dbddeaa73201
      3c9b9197
  4. Jul 19, 2017
  5. Jul 18, 2017
  6. Jul 16, 2017
    • Tianjie Xu's avatar
      Allow update_engine to read postinstall_mnt_dir · 8f687053
      Tianjie Xu authored
      The denial message:
      update_engine: type=1400 audit(0.0:15213): avc: denied { getattr } for
      path="/postinstall" dev="dm-0" ino=38 scontext=u:r:update_engine:s0
      tcontext=u:object_r:postinstall_mnt_dir:s0 tclass=dir permissive=0
      
      update_engine: type=1400 audit(0.0:15214): avc: denied { sys_rawio } for
      capability=17 scontext=u:r:update_engine:s0 tcontext=u:r:update_engine:s0
      tclass=capability permissive=0
      
      auditd  : type=1400 audit(0.0:15213): avc: denied { getattr } for
      comm="update_engine" path="/postinstall" dev="dm-0" ino=38
      scontext=u:r:update_engine:s0 tcontext=u:object_r:postinstall_mnt_dir:s0
      tclass=dir permissive=0
      
      update_engine: [0428/070905:ERROR:utils.cc(716)] Error stat'ing /postinstall: Permission denied
      
      Bug: 37760573
      Test: apply an update and UE reads postinstall_mnt_dir without denial.
      Change-Id: I55506f5e8544233f60ccf7c1df846c9c93946a25
    • Lorenzo Colitti's avatar
      Explicitly allow netd to take the iptables lock. · 9273c1bb
      Lorenzo Colitti authored
      This was previously relying on domain_deprecated rules deleted in
      change I588a1e7ea7ef984907b79a5a391efb2dcd6e6431.
      
      Bug: 28760354
      Test: unbreaks networking on AOSP bullhead
      Change-Id: I873e1f08f72104dee7509e45b1db0b284ca56085
      9273c1bb
  7. Jul 13, 2017
  8. Jul 12, 2017
  9. 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
  10. 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
    • Stephen Smalley's avatar
      sepolicy: Define and allow map permission · 4397f082
      Stephen Smalley authored
      
      Kernel commit 3ba4bf5f1e2c ("selinux: add a map permission check for mmap")
      added a map permission check on mmap so that we can
      distinguish memory mapped access (since it has different implications
      for revocation).  The purpose of a separate map permission check on
      mmap(2) is to permit policy to prohibit memory mapping of specific files
      for which we need to ensure that every access is revalidated, particularly
      useful for scenarios where we expect the file to be relabeled at runtime
      in order to reflect state changes (e.g. cross-domain solution, assured
      pipeline without data copying).  The kernel commit is anticipated to
      be included in Linux 4.13.
      
      This change defines map permission for the Android policy.  It mirrors
      the definition in the kernel classmap by adding it to the common
      definitions for files and sockets.  This will break compatibility for
      kernels that predate the dynamic class/perm mapping support (< 2.6.33);
      on such kernels, one would instead need to add map permission
      to the end of each file and socket access vector.
      
      This change also adds map permission to the global macro definitions for
      file permissions, thereby allowing it in any allow rule that uses these
      macros, and to specific rules allowing mapping of files from /system
      and executable types. This should cover most cases where it is needed,
      although it may still need to be added to specific allow rules when the
      global macros are not used.
      
      Test: Policy builds
      
      Change-Id: Iab3ccd2b6587618e68ecab58218838749fe5e7f5
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      4397f082
    • 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
  11. 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
  12. 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
  13. Jul 01, 2017
Loading