Skip to content
Snippets Groups Projects
  1. Jan 20, 2017
    • Alex Klyubin's avatar
      Fix bugs in *_file_contexts targets · e4665d7f
      Alex Klyubin authored
      This fixes the following issues introduced in commit
      d225b697:
      * plat_file_contexts was empty because the target was referencing
        system/sepolicy/private/file_contexts via a misspelled variable
        name.
      * plat_file_contexts wasn't marked as dirty and thus wasn't rebuilt
        when system/sepolicy/private/file_contexts changed. This is because
        the file_contexts dependency was referenced via a misspelled
        variable name.
      * plat_file_contexts wasn't sorted (as opposed to other similar
        targets, such as nonplat_file_contexts and file_contexts.bin). This
        may lead to unnecessary non-determinism.
      * nonplat_file_contexts wasn't marked dirty and thus wasn't rebuilt
        when device-specific file_contexts file(s) changed. This is because
        the file_contexts files were referenced via a misspelled variable
        name.
      
      Test: "make plat_file_contexts" produces a non-empty file containing
            mappings from system/sepolicy/private/file_contexts
      Test: "make plat_file_contexts" updates output when
            system/sepolicy/private/file_contexts changes
      Test: "make plat_file_contexts" produces output which is sorted
            accroding to rules in fc_sort
      Test: "make nonplat_file_contexts" updates output when
            device/lge/bullhead/sepolicy/file_contexts changes (tested on
            aosp_bullhead-eng)
      Bug: 31363362
      Change-Id: I540555651103f02c96cf958bb93618f600e47a75
      e4665d7f
  2. Jan 18, 2017
  3. Jan 09, 2017
  4. Jan 05, 2017
    • dcashman's avatar
      Split file_contexts for on-device compilation. · d225b697
      dcashman authored
      
      Simulate platform and non-platform split by compiling two different
      file_contexts files and loading them together on-device.  Leave the existing
      file_contexts.bin in place until we're ready to build images based on the new
      files.
      
      Bug: 31363362
      Test: Builds and boots without additional denials.
      Change-Id: I7248f876e2230cee3b3cbf386422063da1e3dde0
      
      Bring back file_contexts.bin.
      
      Change-Id: Ifec2c363579151080fdec48e8bc46bbbc8c97674
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      d225b697
  5. Dec 28, 2016
  6. Dec 21, 2016
    • Steven Moreland's avatar
      Remove ENABLE_TREBLE from sepolicy. · 52b75977
      Steven Moreland authored
      Enabling/disabling sepolicy based on ENABLE_TREBLE is not granular
      enough (ref: b/32978887 #4).
      
      Bug: 32978887
      Test: compiles, doesn't cause any additional denials on device. Nothing
      depends on these things I'm removing.
      Change-Id: I10acbde16e5e2093f2c9205ed79cd20caed7f44d
      52b75977
  7. Dec 17, 2016
  8. Dec 16, 2016
    • Dan Cashman's avatar
      Move sepolicy and recovery from on-device tree and add dependency. · cf5c6ecb
      Dan Cashman authored
      Prevent sepolicy and sepolicy.recover from showing up in the root
      filesystem when they will not be created as part of it.  Also make
      sure both are added as dependencies to version_policy to ensure the
      neverallow checks are run.
      
      Bug: 31363362
      Test: Builds and boots, including recovery, without additional
        denials.  Neverallow violations still caught at build time.
      
      Change-Id: I39e3cbc150551c9316952523927d057538cd00a7
      cf5c6ecb
    • Dan Cashman's avatar
      Switch recovery to versioned policy and split into components. · 1c040277
      Dan Cashman authored
      And do some clean up:
      Replace LOCAL_TARGET_ARCH with global arch specifier that won't get
      clobbered, clean up sepolicy.recovery's eng specification, ensure that
      build macros are applied across all policy generation, not just
      plat_policy, and make sure that all private variables are cleared and
      alphabetized at the end.
      
      Bug: 31363362
      Bug: 31369363
      Test: Boot into recovery and observe no selinux denials.
      Change-Id: Ibc15b097f6d19acf01f6b22bee0e083b15f4ef75
      1c040277
  9. Dec 15, 2016
  10. Dec 13, 2016
    • dcashman's avatar
      Split policy for on-device compilation. · 1faa644c
      dcashman authored
      Simulate platform and non-platform split by sending the split files to the
      device to be compiled by init.
      
      Bug: 31363362
      Test: Policy builds on-device and boots.  sediff shows no difference.
      Change-Id: I9627d1c66ca37786d97a049666278a4992ad7579
      1faa644c
  11. Dec 07, 2016
  12. 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
  13. Nov 21, 2016
    • Jorge Lucangeli Obes's avatar
      Add WITH_DEXPREOPT_PIC to 'with_dexpreopt' SELinux macro. · 28994347
      Jorge Lucangeli Obes authored
      |WITH_DEXPREOPT_PIC = false| will still cause code to be loaded from
      /data.
      
      Bug: 32970029
      Test: On HiKey and Marlin:
      Test: Add |WITH_DEXPREOPT_PIC = false|, see SELinux denial.
      Test: Apply this CL, no SELinux denials.
      Change-Id: I0a1d39eeb4d7f75d84c1908b879d9ea1ccffba74
      28994347
  14. Nov 18, 2016
    • Jorge Lucangeli Obes's avatar
      Use with_dexpreopt macro for zygote execute permissions. · 84db84e6
      Jorge Lucangeli Obes authored
      When WITH_DEXPREOPT is set, the zygote does not need to execute
      dalvikcache_data_file objects.
      
      Bug: 32970029
      Test: Add policy line inside macro, build with and without WITH_DEXPREOPT.
      Test: HiKey builds, boots, no zygote denials.
      Change-Id: I4dace93e8044267232f0f26cfe427fc250d351fb
      84db84e6
  15. Oct 19, 2016
  16. 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
  17. Aug 29, 2016
  18. Jul 01, 2016
  19. May 13, 2016
  20. Mar 01, 2016
    • Nick Kralevich's avatar
      suppress unnecessary makefile output · 6ef10bd4
      Nick Kralevich authored
      checkpolicy spits out a bunch of unnecessary lines during normal
      operation, which bloat the logs and hide other more important
      warnings. Suppress the normal output.
      
      SELinux compile time errors are printed to stderr, and are
      uneffected by this change.
      
      Change-Id: I07f2cbe8afcd14abf1c025355a169b5214ed5c6e
      6ef10bd4
  21. Feb 27, 2016
    • Nick Kralevich's avatar
      Don't allow permissive SELinux domains on user builds. · 3df1fda5
      Nick Kralevich authored
      It's a CTS requirement that all SELinux domains be in
      enforcing mode. Add the same assertion to the build system
      when targeting user builds.
      
      In particular, this avoids a situation where device integrity
      checking is enabled on user builds, but permissive denials
      are being generated, causing the device to unexpectedly reboot
      into safe mode.
      
      A developer wanting to put an SELinux domain into permissive
      mode for userdebug/eng purposes can write the following
      in their policy:
      
        userdebug_or_eng(`
          permissive foo;
        ')
      
      Bug: 26902605
      Bug: 27313768
      
      (cherry picked from commit bca98efa)
      
      Change-Id: If6abe1fa70c79a1fccdbdd9ff273d92de7565a73
      3df1fda5
    • Nick Kralevich's avatar
      Don't allow permissive SELinux domains on user builds. · bca98efa
      Nick Kralevich authored
      It's a CTS requirement that all SELinux domains be in
      enforcing mode. Add the same assertion to the build system
      when targeting user builds.
      
      In particular, this avoids a situation where device integrity
      checking is enabled on user builds, but permissive denials
      are being generated, causing the device to unexpectedly reboot
      into safe mode.
      
      A developer wanting to put an SELinux domain into permissive
      mode for userdebug/eng purposes can write the following
      in their policy:
      
        userdebug_or_eng(`
          permissive foo;
        ')
      
      Bug: 26902605
      Bug: 27313768
      Change-Id: Ic0971d9e96a28f2a98f9d56a547661d24fb81a21
      bca98efa
  22. Jan 15, 2016
    • William Roberts's avatar
      fc_sort: initial commit · 49693f1b
      William Roberts authored
      
      Ordering matters in fc files; the last match wins. In builds where
      many BOARD_SEPOLICY_DIRS are set, the order of that list becomes
      increasingly important in order to maintain a cohesive built
      file_contexts.
      
      To correct this, we sort the device specific file_contexts entries
      with the upstream fc_sort tool.
      
      Change-Id: I3775eae11bfa5905cad0d02a0bf26c76ac03437c
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      49693f1b
  23. Jan 14, 2016
  24. Jan 07, 2016
    • William Roberts's avatar
      fc_sort: initial commit · 29d14688
      William Roberts authored
      
      Ordering matters in fc files; the last match wins. In builds where
      many BOARD_SEPOLICY_DIRS are set, the order of that list becomes
      increasingly important in order to maintain a cohesive built
      file_contexts.
      
      To correct this, we sort the device specific file_contexts entries
      with the upstream fc_sort tool.
      
      Change-Id: Id79cc6f434c41179d5c0d0d739c4718918b0b1dc
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      29d14688
  25. Jan 04, 2016
    • Jeff Vander Stoep's avatar
      Reduce socket ioctl perms · cbaa2b7d
      Jeff Vander Stoep authored
      Reduce the socket ioctl commands available to untrusted/isolated apps.
      Neverallow accessing sensitive information or setting of network parameters.
      Neverallow access to device private ioctls i.e. device specific
      customizations as these are a common source of driver bugs.
      
      Define common ioctl commands in ioctl_defines.
      
      Bug: 26267358
      Change-Id: Ic5c0af066e26d4cb2867568f53a3e65c5e3b5a5d
      cbaa2b7d
  26. Dec 29, 2015
    • William Roberts's avatar
      Android.mk: cleanse all set but not unset variables · 50a478ef
      William Roberts authored
      
      Discovered by diffing the set of "set variables" with
      the set of "cleared variables".
      
      Script:
      
      mydir=$(mktemp -d)
      
      grep -E '(^[a-z].)[a-z0-9_\.]*\s*:?=.' Android.mk  | cut -d' ' -f 1-1 | sort | uniq > $mydir/set_vars
      grep -E '(^[a-z].)[a-z0-9_\.]*\s*:?=$' Android.mk | cut -d' ' -f1-1 | sort | uniq > $mydir/unset_vars
      diff $mydir/set_vars $mydir/unset_vars
      rm -rf $mydir
      
      Change-Id: Ib50abac6b417a1bcc1894d9a7bafdbdca371006a
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      50a478ef
    • William Roberts's avatar
      Android.mk: clean dependencies and clear variables · 46749752
      William Roberts authored
      
      Dependencies being built with newline files in between
      were also including the list of files without the newlines,
      thus make would have to process 3n-1 files instead of 2n-1
      where n is the number of files to process.
      
      Additionally the *_with_nl variables were not being cleared
      out and polluting Make's global name-space.
      
      Change-Id: I76ea1a3dfae994b32991730aea7e4308da52a583
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      46749752
  27. Dec 16, 2015
    • William Roberts's avatar
      sectxfile_nl: fix superfluous dependencies · cb1ab985
      William Roberts authored
      
      The target sectxfile_nl, which is an auto-generated newline file,
      has dependencies on itself and the other files. The dependencies
      should be on the other files and this newline file, not the other
      way around. Ideally, the *_contexts recipes should have the
      dependency recorded for their "contexts" files and the newline
      file.
      
      Additionally, recipe dependencies for building the *_contexts files
      depended on the list of all the contexts files with the newline file
      in that list, however an additional explicit addition of the newline
      file was also added in. Remove this, since its in the full list of
      files.
      
      Change-Id: Iac658923f23a8d9263d392c44003b6bda4064646
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      cb1ab985
  28. Dec 14, 2015
    • William Roberts's avatar
      checkfc: add attribute test · ad3cb39e
      William Roberts authored
      
      Enable checkfc to check *_contexts against a set of valid attributes
      which must be associated with all types in the contexts file that
      is being checked.
      
      Since it's imperative that checkfc knows which file its checking to
      choose the proper attribute set, the -s option is introduced to
      indicate the service_contexts file. The property_contexts file continues
      to use the existing -p and file_contexts requires no specification, aka
      it's the default.
      
      Failure examples:
      file_contexts:
      Error: type "init" is not of set: "fs_type, dev_type, file_type"
      
      service_contexts:
      Error: type "init_exec" is not of set: "service_manager_type"
      
      property_contexts:
      Error: type "bluetooth_service" is not of set: "property_type"
      
      Change-Id: I62077e4d0760858a9459e753e14dfd209868080f
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      ad3cb39e
  29. Dec 13, 2015
  30. Dec 11, 2015
    • Jeff Vander Stoep's avatar
      Migrate to upstream policy version 30 · 3a0ce49b
      Jeff Vander Stoep authored
      Grant untrusted_app and isolated_app unpriv_sock_perms, neverallow
      priv_sock_perms to disallow access to MAC address and ESSID.
      
      Change-Id: Idac3b657a153e7d7fdc647ff34b876a325d759b3
      3a0ce49b
  31. Dec 08, 2015
  32. Oct 23, 2015
    • Jeff Vander Stoep's avatar
      Temporarily downgrade to policy version number · 0fc831c3
      Jeff Vander Stoep authored
      Temporarily move from policy version 30 to 29 until device kernels
      and prebuilts are all upgraded to the accepted upstream version of
      the selinux ioctl command whitelisting code.
      
      (cherry picked from commit 89765083)
      
      Bug: 22846070
      
      Change-Id: I31d1e80aaee164cf41a2f01c6ca846a000898ef4
      0fc831c3
Loading