Skip to content
Snippets Groups Projects
  1. Oct 30, 2014
  2. Oct 29, 2014
    • Stephen Smalley's avatar
      Switch kernel and init to permissive_or_unconfined(). · a523aaca
      Stephen Smalley authored
      
      Switch the kernel and init domains from unconfined_domain()
      to permissive_or_unconfined() so that we can start collecting
      and addressing denials in -userdebug/-eng builds.
      
      Also begin to address denials for kernel and init seen after
      making this switch.
      
      I intentionally did not allow the following denials on hammerhead:
      avc:  denied  { create } for  pid=1 comm="init" name="memory.move_charge_at_immigrate" scontext=u:r:init:s0 tcontext=u:object_r:init_tmpfs:s0 tclass=file
      avc:  denied  { open } for  pid=1 comm="init" name="memory.move_charge_at_immigrate" dev="tmpfs" ino=6550 scontext=u:r:init:s0 tcontext=u:object_r:init_tmpfs:s0 tclass=file
      
      These occur when init.rc does:
      write /sys/fs/cgroup/memory/memory.move_charge_at_immigrate 1
      because the prior command to mount the cgroup failed:
      mount cgroup none /sys/fs/cgroup/memory memory
      
      I think this is because that cgroup is not enabled in the
      kernel configuration.  If the cgroup mount succeeded,
      then this would have been a write to a cgroup:file and
      would have been allowed already.
      
      Change-Id: I9d7e31bef6ea91435716aa4312c721fbeaeb69c0
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      a523aaca
    • Igor Murashkin's avatar
      am 0ae33a8d: Merge "zygote/dex2oat: Grant additional symlink permissions" · f48951a9
      Igor Murashkin authored
      * commit '0ae33a8d':
        zygote/dex2oat: Grant additional symlink permissions
      f48951a9
  3. Oct 28, 2014
  4. Oct 23, 2014
    • Nick Kralevich's avatar
      am 46f3ce87: Merge "remove init_shell" · c97aba39
      Nick Kralevich authored
      * commit '46f3ce87':
        remove init_shell
      c97aba39
    • Stephen Smalley's avatar
      am d4731ad8: Remove -kernel -recovery from keystore_data_file neverallow. · 86a39dd6
      Stephen Smalley authored
      * commit 'd4731ad8':
        Remove -kernel -recovery from keystore_data_file neverallow.
      86a39dd6
    • Nick Kralevich's avatar
      recovery: allow changing unlabeled symbolic links · 5fad3d98
      Nick Kralevich authored
      Currently, recovery is allowed write access to the following three
      file labels:
      
      * system_file (directories, files, and symbolic links)
      * exec_type (directories, files, and symbolic links)
      * unlabeled (directory and files)
      
      system_file is the default label on all files in /system. exec_type
      is the attribute used to mark executables on /system.
      
      The third file type, "unlabeled", refers to filesystem objects where
      the label hasn't been set, or a label is set but isn't defined by the
      currently loaded policy.
      
      The current policy only allows unlabeled files or directories to
      be modified. Symbolic links were accidentally excluded. This causes
      problems when trying to fix up labels/permissions on unlabeled
      symbolic links.
      
      Allow unlabeled symbolic link modifications.
      
      (cherrypicked from commit 683ac49d)
      
      Bug: 18079773
      Change-Id: I8e5c33602cdc38ec9a95b4e83f9ccbb06fe9da7c
      5fad3d98
    • Nick Kralevich's avatar
      system_server: assert app data files never opened directly · b519949d
      Nick Kralevich authored
      Add a compile time assertion that app data files are never
      directly opened by system_server. Instead, system_server always
      expects files to be passed via file descriptors.
      
      This neverallow rule will help prevent accidental regressions and
      allow us to perform other security tightening, for example
      bug 7208882 - Make an application's home directory 700
      
      Bug: 7208882
      Change-Id: I49c725982c4af0b8c76601b2a5a82a5c96df025d
      b519949d
  5. Oct 22, 2014
  6. Oct 21, 2014
    • Nick Kralevich's avatar
      remove init_shell · f37d6b57
      Nick Kralevich authored
      This domain was originally intended to be a place to hold rules for
      all init.*.rc shell scripts. However, it's now recommended that every
      init service have it's own SELinux domain, and the use of init_shell
      is to be avoided.
      
      Delete init_shell. No policy is using it anymore, and it's causing
      confusion for people implementing device specific SELinux policy.
      
      Bug: 18062250
      Change-Id: I7c90851784b233443642ea69722f3281fd457621
      f37d6b57
    • Stephen Smalley's avatar
      Remove -unconfineddomain from neverallow rules. · 0d08d472
      Stephen Smalley authored
      
      With the sepolicy-analyze neverallow checking, attribute
      expansion is performed against the device policy and therefore
      we do not want our neverallow rules to exempt domains from
      consideration based on an attribute (e.g. -unconfineddomain).
      Otherwise, device policy could pass the neverallow check just
      by adding more domains to unconfineddomain.  We could of course
      add a CTS test to check the list of unconfineddomains against
      a whitelist, but it seems desirable regardless to narrow these
      neverallow rules to only the specific domains required.
      
      There are three such neverallow rules in current policy: one
      on creating unlabeled files, one on accessing /dev/hw_random, and
      one on accessing a character device without a specific type.  The
      only domain in unconfineddomain that appears to have a legitimate
      need for any of these permissions is the init domain.  Replace
      -unconfineddomain with -init in these neverallow rules, exclude these
      permissions from unconfineddomain, and add these permissions to init if
      not already explicitly allowed.  auditallow accesses by init to files
      and character devices left in the generic device type so we can monitor
      what is being left there, although it is not necessarily a problem unless
      the file or device should be accessible to others.
      
      Change-Id: If6ee1b1a337c834971c6eb21dada5810608babcf
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      0d08d472
    • Nick Kralevich's avatar
      Merge "Allow adbd to write to /data/adb" · 06985b1d
      Nick Kralevich authored
      06985b1d
    • Nick Kralevich's avatar
      Allow adbd to write to /data/adb · 973877db
      Nick Kralevich authored
      adbd writes debugging information to /data/adb
      when persist.adb.trace_mask is set. Allow it.
      
      Bug: https://code.google.com/p/android/issues/detail?id=72895
      Change-Id: Ia5af09045e9f72a95325b429c30a5ae78e104bdc
      973877db
    • Stephen Smalley's avatar
      Remove block_device:blk_file access from fsck. · 3da1ffba
      Stephen Smalley authored
      
      Now that we have assigned specific types to userdata and cache
      block devices, we can remove the ability of fsck to run on other
      block devices.
      
      Change-Id: I8cfb3dc0e4ebe6b73346ff291ecb11397bb0c2d0
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      3da1ffba
  7. Oct 20, 2014
    • Nick Kralevich's avatar
      am beb279c7: allow init swapon() · d0b1a44e
      Nick Kralevich authored
      * commit 'beb279c7':
        allow init swapon()
      d0b1a44e
    • Nick Kralevich's avatar
      allow init swapon() · beb279c7
      Nick Kralevich authored
      swapon(2) requires write access to the underlying block device.
      Allow it.
      
      Addresses the following denial:
      
         avc:  denied  { write } for  pid=1 comm="init" name="zram0" dev="tmpfs" ino=6267 scontext=u:r:init:s0 tcontext=u:object_r:swap_block_device:s0 tclass=blk_file permissive=0
      
      Change-Id: Id1a4f51038d0b6ce7351294698a0ff146d6e4643
      beb279c7
    • Nick Kralevich's avatar
      am 57a17d14: add support for fsck.f2fs · 61027bc5
      Nick Kralevich authored
      * commit '57a17d14':
        add support for fsck.f2fs
      61027bc5
    • Nick Kralevich's avatar
      add support for fsck.f2fs · 57a17d14
      Nick Kralevich authored
      The Nexus 9 uses f2fs for /data. Make sure to properly label
      /system/bin/fsck.f2fs so that the appropriate domain transition occurs.
      Add support for getattr on devpts, required for fsck.f2fs.
      
      Addresses the following denials:
      
        avc:  denied  { execute_no_trans } for  pid=172 comm="init" path="/system/bin/fsck.f2fs" dev="dm-0" ino=272 scontext=u:r:init:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=0
        avc:  denied  { getattr } for  pid=170 comm="fsck.f2fs" path="/dev/pts/0" dev="devpts" ino=3 scontext=u:r:fsck:s0 tcontext=u:object_r:devpts:s0 tclass=chr_file permissive=1
      
      Change-Id: I34b3f91374d1eb3fb4ba76abce14ff67db259f96
      57a17d14
  8. Oct 18, 2014
  9. Oct 17, 2014
  10. Oct 16, 2014
    • Stephen Smalley's avatar
      Exclude isolated_app from ptrace self. · e9623d8f
      Stephen Smalley authored
      
      Change-Id: I29136a805d2329806afc9d5d81af934a1803d8e0
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      e9623d8f
    • Nick Kralevich's avatar
      Fix compile time / CTS gps_data_files neverallow assertion · 38936af0
      Nick Kralevich authored
      Currently, zygote spawned apps are prohibited from modifying GPS
      data files. If someone tries to allow GPS access to any app domain,
      it generates a compile time / CTS exception.
      
      Relax the rules slightly for system_app. These apps run with UID=system,
      and shouldn't be banned from handling gps data files.
      
      This change doesn't add or remove any SELinux rules. Rather, it just
      relaxes a compile time assertion, allow partners to create SELinux
      rules allowing the access if they desire.
      
      (cherrypick from commit 480374e4)
      
      Bug: 18021422
      Change-Id: Iad0c6a3627efe129246e2c817f6f71d2735eba93
      38936af0
    • Nick Kralevich's avatar
      Fix compile time / CTS gps_data_files neverallow assertion · 480374e4
      Nick Kralevich authored
      Currently, zygote spawned apps are prohibited from modifying GPS
      data files. If someone tries to allow GPS access to any app domain,
      it generates a compile time / CTS exception.
      
      Relax the rules slightly for system_app. These apps run with UID=system,
      and shouldn't be banned from handling gps data files.
      
      This change doesn't add or remove any SELinux rules. Rather, it just
      relaxes a compile time assertion, allow partners to create SELinux
      rules allowing the access if they desire.
      
      Bug: 18021422
      Change-Id: Iad0c6a3627efe129246e2c817f6f71d2735eba93
      480374e4
    • Mark Salyzyn's avatar
      am 664ef57b: logd: Add klogd · a8be8853
      Mark Salyzyn authored
      * commit '664ef57b':
        logd: Add klogd
      a8be8853
    • Mark Salyzyn's avatar
      logd: Add klogd · 664ef57b
      Mark Salyzyn authored
      Change-Id: Ib9bc89b05771a12c6bb9a25cf59ea51afd22ae15
      664ef57b
  11. Oct 15, 2014
Loading