Skip to content
Snippets Groups Projects
  1. Mar 27, 2017
  2. Mar 24, 2017
    • Alex Klyubin's avatar
      Vendor domains must not use Binder · f5446eb1
      Alex Klyubin authored
      On PRODUCT_FULL_TREBLE devices, non-vendor domains (except vendor
      apps) are not permitted to use Binder. This commit thus:
      * groups non-vendor domains using the new "coredomain" attribute,
      * adds neverallow rules restricting Binder use to coredomain and
        appdomain only, and
      * temporarily exempts the domains which are currently violating this
        rule from this restriction. These domains are grouped using the new
        "binder_in_vendor_violators" attribute. The attribute is needed
        because the types corresponding to violators are not exposed to the
        public policy where the neverallow rules are.
      
      Test: mmm system/sepolicy
      Test: Device boots, no new denials
      Test: In Chrome, navigate to ip6.me, play a YouTube video
      Test: YouTube: play a video
      Test: Netflix: play a movie
      Test: Google Camera: take a photo, take an HDR+ photo, record video with
            sound, record slow motion video with sound. Confirm videos play
            back fine and with sound.
      Bug: 35870313
      Change-Id: I0cd1a80b60bcbde358ce0f7a47b90f4435a45c95
      f5446eb1
  3. Mar 23, 2017
    • Martijn Coenen's avatar
      Initial sepolicy for vndservicemanager. · e7d8f4c3
      Martijn Coenen authored
      vndservicemanager is the context manager for binder services
      that are solely registered and accessed from vendor processes.
      
      Bug: 36052864
      Test: vendorservicemanager runs
      Merged-In: Ifbf536932678d0ff13d019635fe6347e185ef387
      Change-Id: I430f1762eb83825f6cd4be939a69d46a8ddc80ff
      e7d8f4c3
  4. Mar 22, 2017
    • Martijn Coenen's avatar
      Initial sepolicy for vndservicemanager. · cba70be7
      Martijn Coenen authored
      vndservicemanager is the context manager for binder services
      that are solely registered and accessed from vendor processes.
      
      Bug: 36052864
      Test: vendorservicemanager runs
      Change-Id: Ifbf536932678d0ff13d019635fe6347e185ef387
      cba70be7
  5. Mar 07, 2017
  6. Mar 06, 2017
    • Nick Kralevich's avatar
      Revert "Remove execmod support for newer API versions" · 9be90fb6
      Nick Kralevich authored
      We need more time to investigate the effect that this change will
      have on DRM solutions. Until the investigation is done, revert.
      
      This reverts commit 38d3eca0.
      
      Bug: 30146890
      Bug: 20013628
      Bug: 35323421
      Change-Id: I5ad69ef5ee12081ce7fc0a8440712f7f8f77cf16
      Test: policy compiles.
      9be90fb6
  7. Mar 05, 2017
    • Nick Kralevich's avatar
      Remove execmod support for newer API versions · 38d3eca0
      Nick Kralevich authored
      Drop support for execmod (aka text relocations) for newer API versions.
      Retain it for older app APIs versions.
      
      Bug: 30146890
      Bug: 20013628
      Bug: 35323421
      Test: policy compiles.
      Change-Id: Ie54fdb385e9c4bb997ad6fcb6cff74f7e32927bb
      38d3eca0
  8. Mar 03, 2017
    • Jeff Vander Stoep's avatar
      domain: Allow stat on symlinks in vendor · 05d83dd4
      Jeff Vander Stoep authored
      Addresses:
      denied { getattr } for pid=155 comm="keystore" path="/vendor"
      dev="mmcblk0p6" ino=1527 scontext=u:r:keystore:s0
      tcontext=u:object_r:system_file:s0 tclass=lnk_file
      
      On devices without an actual vendor image, /vendor is a symlink to
      /system/vendor. When loading a library from this symlinked vendor,
      the linker uses resolve_paths() resulting in an lstat(). This
      generates an selinux denial. Allow this lstat() so that paths can
      be resolved on devices without a real vendor image.
      
      Bug: 35946056
      Test: sailfish builds
      Change-Id: Ifae11bc7039047e2ac2b7eb4fbcce8ac4580799f
      05d83dd4
  9. Feb 23, 2017
    • Luis Hector Chavez's avatar
      Restrict /proc/sys/vm/mmap_rnd_bits · 64a05038
      Luis Hector Chavez authored
      Label /proc/sys/vm/mmap_rnd_bits so it is only readable and writable by
      init. This also tightens the neverallow restrictions for proc_security.
      
      Bug: 33563834
      Test: run cts -m CtsPermissionTestCases -t \
            android.permission.cts.FileSystemPermissionTest#testProcfsMmapRndBitsExistsAndSane
      
      Change-Id: Ie7af39ddbf23806d4ffa35e7b19d30fec7b6d410
      64a05038
  10. Feb 17, 2017
    • Nick Kralevich's avatar
      fsck: allow stat access on /dev/block files · 585d9767
      Nick Kralevich authored
      To determine if it is safe to run fsck on a filesystem, e2fsck
      must first determine if the filesystem is mounted. To do that,
      e2fsck scans through /proc/mounts and collects all the mounted
      block devices. With that information, it runs stat() on each block
      device, comparing the major and minor numbers to the filesystem
      passed in on the command line. If there is a match, then the filesystem
      is currently mounted and running fsck is dangerous.
      Allow stat access to all block devices so that fsck can compare
      major/minor values.
      
      Addresses the following denials:
      
      avc: denied { getattr } for comm="e2fsck" path="/dev/block/sde5"
      dev="tmpfs" ino=15649 scontext=u:r:fsck:s0
      tcontext=u:object_r:metadata_block_device:s0 tclass=blk_file
      permissive=0
      
      avc: denied { getattr } for comm="e2fsck" path="/dev/block/sda25"
      dev="tmpfs" ino=15528 scontext=u:r:fsck:s0
      tcontext=u:object_r:modem_block_device:s0 tclass=blk_file permissive=0
      
      avc: denied { getattr } for comm="e2fsck" path="/dev/block/sda31"
      dev="tmpfs" ino=15552 scontext=u:r:fsck:s0
      tcontext=u:object_r:system_block_device:s0 tclass=blk_file permissive=0
      
      avc: denied { getattr } for comm="e2fsck" path="/dev/block/sdd3"
      dev="tmpfs" ino=15600 scontext=u:r:fsck:s0
      tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0
      
      Bug: 35324014
      Bug: 33781554
      Test: device boots and no SELinux denials.
      Change-Id: I5af4a334ec41952887914eec4eee5c60cc441a66
      585d9767
  11. Feb 14, 2017
    • Jeff Vander Stoep's avatar
      untrusted_app: policy versioning based on targetSdkVersion · bacb6d79
      Jeff Vander Stoep authored
      Motivation:
      Provide the ability to phase in new security policies by
      applying them to apps with a minimum targetSdkVersion.
      
      Place untrusted apps with targetSdkVersion<=25 into the
      untrustd_app_25 domain. Apps with targetSdkVersion>=26 are placed
      into the untrusted_app domain. Common rules are included in the
      untrusted_app_all attribute. Apps with a more recent targetSdkVersion
      are granted fewer permissions.
      
      Test: Marlin builds and boots. Apps targeting targetSdkVersion<=25
      run in untrusted_app_25 domain. Apps targeting the current development
      build >=26 run in the untrusted_app domain with fewer permissions. No
      new denials observed during testing.
      Bug: 34115651
      Bug: 35323421
      Change-Id: Ie6a015566fac07c44ea06c963c40793fcdc9a083
      bacb6d79
  12. Feb 07, 2017
  13. Feb 06, 2017
  14. Feb 01, 2017
    • Max Bires's avatar
      Removing init and ueventd access to generic char files · 3171829a
      Max Bires authored
      There are many character files that are unreachable to all processes
      under selinux policies. Ueventd and init were the only two domains that
      had access to these generic character files, but auditing proved there
      was no use for that access. In light of this, access is being completely
      revoked so that the device nodes can be removed, and a neverallow is
      being audited to prevent future regressions.
      
      Test: The device boots
      Bug: 33347297
      Change-Id: If050693e5e5a65533f3d909382e40f9c6b85f61c
      3171829a
  15. Jan 31, 2017
    • Calin Juravle's avatar
      Remove SElinux audit to libart_file · 01ee59a7
      Calin Juravle authored
      Since it was introduced it caused quite a few issues and it spams the
      SElinux logs unnecessary.
      
      The end goal of the audit was to whitelist the access to the
      interpreter. However that's unfeasible for now given the complexity.
      
      Test: devices boots and everything works as expected
            no more auditallow logs
      
      Bug: 29795519
      Bug: 32871170
      Change-Id: I9a7a65835e1e1d3f81be635bed2a3acf75a264f6
      01ee59a7
  16. Jan 25, 2017
  17. Jan 23, 2017
  18. Jan 20, 2017
  19. Jan 18, 2017
    • Josh Gao's avatar
      Introduce crash_dump debugging helper. · cb3eb4ee
      Josh Gao authored
      Replace the global debuggerd with a per-process debugging helper that
      gets exec'ed by the process that crashed.
      
      Bug: http://b/30705528
      Test: crasher/crasher64, `debuggerd <pid>`, `kill -ABRT <pid>`
      Change-Id: Iad1b7478f7a4e2690720db4b066417d8b66834ed
      cb3eb4ee
  20. Jan 06, 2017
    • Nick Kralevich's avatar
      Refine rules for accessing /dev/__properties__ · 32c4a27c
      Nick Kralevich authored
      Don't allow processes to list out the contents of the directory
      /dev/__properties__. This is an implementation specific detail that
      shouldn't be visible to processes.
      
      Test: Device boots and no problems reading individual properties.
      Test: ls -la /dev/__properties__ fails
      Change-Id: I4df6a829b0d22e30fb2c38030c690fc4a356f6a3
      32c4a27c
  21. Dec 29, 2016
    • Alex Klyubin's avatar
      Enable ADB shell access to ro.serialno · cba41e5a
      Alex Klyubin authored
      6e4508e6 inadvertently removed access
      to ro.serialno and ro.boot.serialno from ADB shell. This is needed for
      CTS. This commit thus reinstates the access.
      
      Test: adb shell getprop ro.serialno
      Bug: 33700679
      Change-Id: I62de44b1631c03fcd64ceabaf33bbaeb869c2851
      cba41e5a
  22. Dec 27, 2016
    • Alex Klyubin's avatar
      Remove access to ro.runtime.firstboot from apps · 062236a8
      Alex Klyubin authored
      ro.runtime.firstboot system property is only used internally by
      system_server to distinguish between first start after boot from
      consecutive starts (for example, this happens when full-disk
      encryption is enabled). The value of the property is a
      millisecond-precise timestamp which can help track individual
      device. Thus apps should not have access to this property.
      
      Test: Device boots fine, reading ro.runtime.firstboot from an app results in an error and SELinux denial.
      Bug: 33700679
      Change-Id: I4c3c26a35c5dd840bced3a3e53d071f45317f63c
      062236a8
  23. Dec 22, 2016
    • Alex Klyubin's avatar
      Restrict access to ro.serialno and ro.boot.serialno · 20151072
      Alex Klyubin authored
      This restricts access to ro.serialno and ro.boot.serialno, the two
      system properties which contain the device's serial number, to a
      select few SELinux domains which need the access. In particular, this
      removes access to these properties from Android apps. Apps can access
      the serial number via the public android.os.Build API. System
      properties are not public API for apps.
      
      The reason for the restriction is that serial number is a globally
      unique identifier which cannot be reset by the user. Thus, it can be
      used as a super-cookie by apps. Apps need to wean themselves off of
      identifiers not resettable by the user.
      
      Test: Set up fresh GMS device, install some apps via Play, update some apps, use Chrome
      Test: Access the device via ADB (ADBD exposes serial number)
      Test: Enable MTP over USB, use mtp-detect to confirm that serial number is reported in MTP DeviceInfo
      Bug: 31402365
      Bug: 33700679
      Change-Id: I4713133b8d78dbc63d8272503e80cd2ffd63a2a7
      20151072
  24. Dec 15, 2016
    • Nick Kralevich's avatar
      Enforce assumptions around metadata_block_device · 5207ca6a
      Nick Kralevich authored
      Add a compile time assertion that only authorized SELinux domains are
      allowed to touch the metadata_block_device. This domain may be wiped at
      will, and we want to ensure that we're not inadvertently destroying
      other people's data.
      
      Test: policy compiles.
      Change-Id: I9854b527c3d83e17f717d6cc8a1c6b50e0e373b6
      5207ca6a
  25. Dec 06, 2016
    • dcashman's avatar
      sepolicy: add version_policy tool and version non-platform policy. · 2e00e637
      dcashman authored
      In order to support platform changes without simultaneous updates from
      non-platform components, the platform and non-platform policies must be
      split.  In order to provide a guarantee that policy written for
      non-platform objects continues to provide the same access, all types
      exposed to non-platform policy are versioned by converting them and the
      policy using them into attributes.
      
      This change performs that split, the subsequent versioning and also
      generates a mapping file to glue the different policy components
      together.
      
      Test: Device boots and runs.
      Bug: 31369363
      Change-Id: Ibfd3eb077bd9b8e2ff3b2e6a0ca87e44d78b1317
      2e00e637
  26. Dec 05, 2016
    • Nick Kralevich's avatar
      Revert "ueventd.te: auditallow device:chr_file" · e78fa1bf
      Nick Kralevich authored
      Broke the dragon build:
      
      libsepol.report_failure: neverallow on line 304 of system/sepolicy/public/domain.te (or line 8638 of policy.conf) violated by allow kernel device:chr_file { create setattr };
      libsepol.check_assertions: 1 neverallow failures occurred
      Error while expanding policy
      
      This reverts commit ed0b4eb3.
      
      Change-Id: I5d55ab59ed72ce7c19a10ddbb374f9f3b3fae4fd
      e78fa1bf
    • Nick Kralevich's avatar
      ueventd.te: auditallow device:chr_file · ed0b4eb3
      Nick Kralevich authored
      By default, files created in /dev are labeled with the "device" label
      unless a different label has been assigned. The direct use of this
      generic label is discouraged (and in many cases neverallowed) because
      rules involving this label tend to be overly broad and permissive.
      
      Today, generically labeled character devices can only be opened, read,
      or written to by init and ueventd.
      
        $ sesearch --allow -t device -c chr_file -p open,read,write out/target/product/marlin/root/sepolicy
        allow init device:chr_file { setattr read lock getattr write ioctl open append };
        allow ueventd device:chr_file { read lock getattr write ioctl open append };
      
      this is enforced by the following SELinux neverallow rule (compile time
      assertion + CTS test):
      
        neverallow { domain -init -ueventd } device:chr_file { open read write };
      
      Start auditallowing ueventd access to /dev character device files with the
      default SELinux label. This doesn't appear to be used, but let's prove it.
      While ueventd is expected to create files in /dev, it has no need to open
      most of the files it creates.
      
      Note, however, that because ueventd has mknod + setfscreate permissions,
      a malicious or compromised ueventd can always create a device node under
      an incorrect label, and gain access that way.
      
      The goal of this change is to prove that no process other than init are
      accessing generically labeled files in /dev.
      
      While I'm here, tighten up the compile time assertion for
      device:chr_file to include more permissions.
      
      Test: policy compiles + device boots with no granted messages.
      Change-Id: Ic98b0ddc631b49b09e58698d9f40738ccedd1fd0
      ed0b4eb3
    • Max's avatar
      /dev/port does not seem to be used, adding in rules to confirm. · c27c23fb
      Max authored
      Only init and ueventd have any access to /dev/port, and neither should
      have any use for it. As it stands, leaving port in just represents
      additional attack surface with no useful functionality, so it should be
      removed if possible, not only from Pixel devices, but from all Android
      devices.
      
      Test: The phone boots successfully
      
      Bug:33301618
      Change-Id: Iedc51590f1ffda02444587d647889ead9bdece3f
      c27c23fb
  27. Nov 23, 2016
  28. Nov 21, 2016
    • Nick Kralevich's avatar
      Collapse urandom_device into random_device · 5eadcb8c
      Nick Kralevich authored
      urandom_device and random_device have the exact same security
      properties. Collapse them into one type.
      
      Test: device boots and /dev/urandom is labeled correctly.
      Change-Id: I12da30749291bc5e37d99bc9422bb86cb58cec41
      5eadcb8c
  29. Nov 20, 2016
    • Daniel Micay's avatar
      only permit text relocations in untrusted_app · dc083f59
      Daniel Micay authored
      The other domains either don't have the same backwards compatibility
      issues (isolated_app) or are privileged components that are pretty much
      part of the platform and can be expected to meet a higher standard.
      
      It would be possible to expose a build option for disabling the ART JIT,
      allowing conditional removal of execmem from some of these domains too
      (ones not ever using the WebView, until that's always in isolated_app).
      
      Bug: 20013628
      Change-Id: Ic22513157fc8b958b2a3d60381be0c07b5252fa5
      dc083f59
  30. Nov 12, 2016
  31. Nov 11, 2016
    • Nick Kralevich's avatar
      property.te: delete security_prop · ee751c33
      Nick Kralevich authored
      This property is never used.
      
      Test: policy compiles
      Change-Id: I43ace92950e1221754db28548031fbbfc0437d7a
      ee751c33
    • Robert Sesek's avatar
      Add the "webview_zygote" domain. · dc43f7cd
      Robert Sesek authored
      The webview_zygote is a new unprivileged zygote and has its own sockets for
      listening to fork requests. However the webview_zygote does not run as root
      (though it does require certain capabilities) and only allows dyntransition to
      the isolated_app domain.
      
      Test: m
      Test: angler boots
      
      Bug: 21643067
      Change-Id: I89a72ffe6dcb983c4a44048518efd7efb7ed8e83
      dc43f7cd
  32. Nov 08, 2016
    • Nick Kralevich's avatar
      Revert "Restore system_server ioctl socket access." · 58305da9
      Nick Kralevich authored
      The underlying ioctl denial was fixed in device-specific policy.
      It's not needed in core policy.
      
      A search of SELinux denials shows no reported denials, other than the
      ones showing up on marlin.
      
      This reverts commit ec3285cd.
      
      (cherrypicked from commit 863ce3e7)
      
      Test: AndroiTS GPS Test app shows GPS data, no SELinux denials.
      Bug: 32290392
      Change-Id: I1ba7bad43a2cdd7cdebbe1c8543a71eee765621d
      58305da9
    • Nick Kralevich's avatar
      profman/debuggerd: allow libart_file:file r_file_perms · 364fd197
      Nick Kralevich authored
      Addresses the following auditallow spam:
      
      avc: granted { read open } for comm="profman"
      path="/system/lib/libart.so" dev="dm-0" ino=1368 scontext=u:r:profman:s0
      tcontext=u:object_r:libart_file:s0 tclass=file
      
      avc: granted { read open } for comm="debuggerd64"
      path="/system/lib64/libart.so" dev="dm-0" ino=1897
      scontext=u:r:debuggerd:s0 tcontext=u:object_r:libart_file:s0 tclass=file
      
      avc: granted { getattr } for comm="debuggerd64"
      path="/system/lib64/libart.so" dev="dm-0" ino=1837
      scontext=u:r:debuggerd:s0 tcontext=u:object_r:libart_file:s0 tclass=file
      
      Test: Policy compiles. Not a tightening of rules.
      Change-Id: I501b0a6a343c61b3ca6283647a18a9a15deddf2a
      364fd197
    • Nick Kralevich's avatar
      Revert "Restore system_server ioctl socket access." · 863ce3e7
      Nick Kralevich authored
      The underlying ioctl denial was fixed in device-specific policy.
      It's not needed in core policy.
      
      A search of SELinux denials shows no reported denials, other than the
      ones showing up on marlin.
      
      This reverts commit ec3285cd.
      
      Test: AndroiTS GPS Test app shows GPS data, no SELinux denials.
      Bug: 32290392
      Change-Id: I1ba7bad43a2cdd7cdebbe1c8543a71eee765621d
      863ce3e7
  33. Nov 04, 2016
  34. 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
Loading