Skip to content
Snippets Groups Projects
  1. Feb 21, 2014
    • Stephen Smalley's avatar
      Clarify init_shell, shell, and su domain usage. · b3cb9695
      Stephen Smalley authored
      
      init_shell domain is now only used for shell commands or scripts
      invoked by init*.rc files, never for an interactive shell.  It
      was being used for console service for a while but console service
      is now assigned shell domain via seclabel in init.rc.  We may want
      to reconsider the shelldomain rules for init_shell and whether they
      are still appropriate.
      
      shell domain is now used by both adb shell and console service, both
      of which also run in the shell UID.
      
      su domain is now used not only for /system/bin/su but also for
      adbd and its descendants after an adb root is performed.
      
      Change-Id: I502ab98aafab7dafb8920ccaa25e8fde14a8f572
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      b3cb9695
  2. Feb 18, 2014
    • Nick Kralevich's avatar
      debuggerd: Allow "debug.db.uid" usage · 116a20fd
      Nick Kralevich authored
      Allow the use of debug.db.uid on userdebug / eng builds.
      Setting this property allows debuggerd to suspend a process
      if it detects a crash.
      
      Make debug.db.uid only accessible to the su domain. This should
      not be used on a user build.
      
      Only support reading user input on userdebug / eng builds.
      
      Steps to reproduce with the "crasher" program:
      
        adb root
        adb shell setprop debug.db.uid 20000
        mmm system/core/debuggerd
        adb sync
        adb shell crasher
      
      Addresses the following denials:
      
      <5>[  580.637442] type=1400 audit(1392412124.612:149): avc:  denied  { read } for  pid=182 comm="debuggerd" name="input" dev="tmpfs" ino=5665 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      <5>[  580.637589] type=1400 audit(1392412124.612:150): avc:  denied  { open } for  pid=182 comm="debuggerd" name="input" dev="tmpfs" ino=5665 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      <5>[  580.637706] type=1400 audit(1392412124.612:151): avc:  denied  { read write } for  pid=182 comm="debuggerd" name="event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      <5>[  580.637823] type=1400 audit(1392412124.612:152): avc:  denied  { open } for  pid=182 comm="debuggerd" name="event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      <5>[  580.637958] type=1400 audit(1392412124.612:153): avc:  denied  { ioctl } for  pid=182 comm="debuggerd" path="/dev/input/event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      
      Bug: 12532622
      Change-Id: I63486edb73efb1ca12e9eb1994ac9e389251a3f1
      116a20fd
  3. Jan 23, 2014
    • Nick Kralevich's avatar
      Support running adbd in the su domain. · 7d0f955e
      Nick Kralevich authored
      When adbd runs as root, it transitions into the
      su domain. Add the various rules to support this.
      
      This is needed to run the adbd and shell domains in
      enforcing on userdebug / eng devices without breaking
      developer workflows.
      
      Change-Id: Ib33c0dd2dd6172035230514ac84fcaed2ecf44d6
      7d0f955e
  4. Jan 09, 2014
    • Nick Kralevich's avatar
      Create new conditional userdebug_or_eng · 88ce951d
      Nick Kralevich authored
      Create a new m4 macro called userdebug_or_eng. Arguments
      passed to this macro are only emitted if we're performing
      a userdebug or eng build.
      
      Merge shell.te and shell_user.te and eliminate duplicate
      lines. Same for su.te and su_user.te
      
      Change-Id: I8fbabca65ec392aeafd5b90cef57b5066033fad0
      88ce951d
  5. Dec 16, 2013
    • Nick Kralevich's avatar
      initial dumpstate domain · 09e6abd9
      Nick Kralevich authored
      Add the necessary rules to support dumpstate.
      Start off initially in permissive until it has more testing.
      
      Dumpstate is triggered by running "adb bugreport"
      
      Change-Id: Ic17a60cca1f6f40daa4f2c51e9ad6009ef36cfbd
      09e6abd9
  6. Dec 02, 2013
  7. Oct 21, 2013
    • Nick Kralevich's avatar
      Move unconfined domains out of permissive mode. · 353c72e3
      Nick Kralevich authored
      This change removes the permissive line from unconfined
      domains. Unconfined domains can do (mostly) anything, so moving
      these domains into enforcing should be a no-op.
      
      The following domains were deliberately NOT changed:
      1) kernel
      2) init
      
      In the future, this gives us the ability to tighten up the
      rules in unconfined, and have those tightened rules actually
      work.
      
      When we're ready to tighten up the rules for these domains,
      we can:
      
      1) Remove unconfined_domain and re-add the permissive line.
      2) Submit the domain in permissive but NOT unconfined.
      3) Remove the permissive line
      4) Wait a few days and submit the no-permissive change.
      
      For instance, if we were ready to do this for adb, we'd identify
      a list of possible rules which allow adbd to work, re-add
      the permissive line, and then upload those changes to AOSP.
      After sufficient testing, we'd then move adb to enforcing.
      We'd repeat this for each domain until everything is enforcing
      and out of unconfined.
      
      Change-Id: If674190de3262969322fb2e93d9a0e734f8b9245
      353c72e3
  8. Sep 27, 2013
  9. May 15, 2013
  10. Nov 01, 2012
  11. Jul 18, 2012
  12. Jan 04, 2012
Loading