Skip to content
Snippets Groups Projects
  1. Jun 11, 2014
    • Stephen Smalley's avatar
      Refactor the shell domains. · 42fb824c
      Stephen Smalley authored
      
      Originally we used the shell domain for ADB shell only and
      the init_shell domain for the console service, both transitioned
      via automatic domain transitions on sh.  So they originally
      shared a common set of rules.  Then init_shell started to be used
      for sh commands invoked by init.<board>.rc files, and we switched
      the console service to just use the shell domain via seclabel entry
      in init.rc.  Even most of the sh command instances in init.<board>.rc
      files have been converted to use explicit seclabel options with
      more specific domains (one lingering use is touch_fw_update service
      in init.grouper.rc).  The primary purpose of init_shell at this point
      is just to shed certain permissions from the init domain when init invokes
      a shell command.  And init_shell and shell are quite different in
      their permission requirements since the former is used now for
      uid-0 processes spawned by init whereas the latter is used for
      uid-shell processes spawned by adb or init.
      
      Given these differences, drop the shelldomain attribute and take those
      rules directly into shell.te.  init_shell was an unconfined_domain(),
      so it loses nothing from this change.  Also switch init_shell to
      permissive_or_unconfined() so that we can see its actual denials
      in the future in userdebug/eng builds.
      
      Change-Id: I6e7e45724d1aa3a6bcce8df676857bc8eef568f0
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      42fb824c
  2. Jun 10, 2014
    • Ruchi Kandoi's avatar
      system_server: Adds permission to system_server to write sysfs file · 13d58863
      Ruchi Kandoi authored
      
      Need this for changing the max_cpufreq and min_cpufreq for the low power
      mode.
      
      Denials:
      type=1400 audit(1402431554.756:14): avc: denied { write } for pid=854
      comm="PowerManagerSer" name="scaling_max_freq" dev="sysfs" ino=9175
      scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0
      tclass=file
      
      Change required for Change-Id: I1cf458c4f128818ad1286e5a90b0d359b6913bb8
      
      Change-Id: Ic5ce3c8327e973bfa1d53f298c07dcea1550b646
      Signed-off-by: default avatarRuchi <Kandoi&lt;kandoiruchi@google.com>
      13d58863
    • Nick Kralevich's avatar
      recovery: don't use single quote · f4e69028
      Nick Kralevich authored
      single quotes make the m4 parser think it's at the end of
      a block, and generates the following compile time warning:
      
        external/sepolicy/recovery.te:9:WARNING 'unrecognized character' at token ''' on line 7720:
      
      Change-Id: I2502f16f0d9ec7528ec0fc2ee65ad65635d0101b
      f4e69028
  3. Jun 09, 2014
    • Nick Kralevich's avatar
      dumpstate: allow pstore access · a8281adf
      Nick Kralevich authored
      Dumpstate reads from /sys/fs/pstore/console-ramoops when generating
      a bug report. Allow it.
      
      Addresses the following denials:
        <12>[ 2187.362750] type=1400 audit(1402346777.139:9): avc: denied { search } for pid=4155 comm="dumpstate" name="/" dev="pstore" ino=9954 scontext=u:r:dumpstate:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1
        <12>[ 2187.363025] type=1400 audit(1402346777.139:10): avc: denied { getattr } for pid=4155 comm="dumpstate" path="/sys/fs/pstore/console-ramoops" dev="pstore" ino=9955 scontext=u:r:dumpstate:s0 tcontext=u:object_r:pstorefs:s0 tclass=file permissive=1
        <12>[ 2187.363185] type=1400 audit(1402346777.139:11): avc: denied { read } for pid=4155 comm="dumpstate" name="console-ramoops" dev="pstore" ino=9955 scontext=u:r:dumpstate:s0 tcontext=u:object_r:pstorefs:s0 tclass=file permissive=1
        <12>[ 2187.363321] type=1400 audit(1402346777.139:12): avc: denied { open } for pid=4155 comm="dumpstate" path="/sys/fs/pstore/console-ramoops" dev="pstore" ino=9955 scontext=u:r:dumpstate:s0 tcontext=u:object_r:pstorefs:s0 tclass=file permissive=1
      
      Change-Id: Ia20b7a03ed8e0c61b023eea93415a50af82e1bbf
      a8281adf
    • Nick Kralevich's avatar
      dumpstate: allow gpu_device access · b2ed044f
      Nick Kralevich authored
      dumpstate calls screencap to take a screenshot. screencap
      requires the ability to access the gpu device. Allow it.
      
      Bug: 15514427
      Change-Id: Iad8451b6108786653146de471f6be2d26b0e3297
      b2ed044f
    • Nick Kralevich's avatar
      7fd03e9c
    • Nick Kralevich's avatar
      Merge "label usbfs" · ac23ff9e
      Nick Kralevich authored
      ac23ff9e
    • Nick Kralevich's avatar
      Merge "add attach_queue to tun_socket" · e79433d8
      Nick Kralevich authored
      e79433d8
    • Nick Kralevich's avatar
      Merge "Refine recovery domain." · ddc90255
      Nick Kralevich authored
      ddc90255
    • Nick Kralevich's avatar
      442b6f10
    • Nick Kralevich's avatar
    • Nick Kralevich's avatar
      label usbfs · 5a5fb85f
      Nick Kralevich authored
      Right now usbfs doesn't have any labels, generating the
      following kernel warnings:
      
      <7>[    3.009582] SELinux: initialized (dev usbfs, type usbfs), not configured for labeling
      
      and the occasional SELinux unlabeled auditallow logs:
      
      <4>[  285.579254] type=1400 audit(1402010345.094:16): avc: granted { search } for pid=371 comm="qcks" name="/" dev="usbfs" ino=15794 scontext=u:r:kickstart:s0 tcontext=u:object_r:unlabeled:s0 tclass=dir
      <4>[  285.632354] type=1400 audit(1402010345.154:18): avc: granted { search } for pid=371 comm="qcks" name="001" dev="usbfs" ino=15796 scontext=u:r:kickstart:s0 tcontext=u:object_r:unlabeled:s0 tclass=dir
      
      Make sure usbfs is assigned via genfscon
      
      Change-Id: I7191f2584014ba55a3c3a98e7efd0350dc958782
      5a5fb85f
    • Nick Kralevich's avatar
      Make dumpstate domain enforcing. · a1cd65b8
      Nick Kralevich authored
      Change-Id: I74bf300c1b80e94e5acf9ba00ab443dfabad7408
      a1cd65b8
    • Nick Kralevich's avatar
      surfaceflinger: remove unconfined domain reference. · b53e84a7
      Nick Kralevich authored
      surfaceflinger has been enforcing for a while now. Remove
      the reference to the unconfined domain.
      
      Change-Id: Ia86a0553e9c2db3c89f93e26179c79278d1d3bed
      b53e84a7
    • Stephen Smalley's avatar
      Make system_app enforcing. · d1591224
      Stephen Smalley authored
      
      Change-Id: I9c3ff0a79d947a14084638772451d06298c43e47
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      d1591224
    • Stephen Smalley's avatar
      Make the system_server domain enforcing. · 6bb672e6
      Stephen Smalley authored
      
      Change-Id: I1ea20044bd6789dde002da7fc9613cfbf1ee2d23
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      6bb672e6
  4. Jun 08, 2014
    • Nick Kralevich's avatar
      allow adb push to create directories. · 98b7ab53
      Nick Kralevich authored
      Addresses the following denial:
      
        type=1400 audit(0.0:24): avc: denied { create } for comm="adbd" name="md5sum" scontext=u:r:adbd:s0 tcontext=u:object_r:shell_data_file:s0 tclass=dir
      
      Change-Id: Ibb1708af85b2235cbad2794993cfeef896f8db4a
      98b7ab53
  5. Jun 07, 2014
    • Nick Kralevich's avatar
      Refine recovery domain. · 8b7ca455
      Nick Kralevich authored
      Addresses the following denials:
      
          avc:  denied  { read write } for  pid=132 comm="recovery" name="tty0" dev="tmpfs" ino=5730 scontext=u:r:recovery:s0 tcontext=u:object_r:tty_device:s0 tclass=chr_file
          avc:  denied  { open } for  pid=132 comm="recovery" name="tty0" dev="tmpfs" ino=5730 scontext=u:r:recovery:s0 tcontext=u:object_r:tty_device:s0 tclass=chr_file
          avc:  denied  { ioctl } for  pid=132 comm="recovery" path="/dev/tty0" dev="tmpfs" ino=5730 scontext=u:r:recovery:s0 tcontext=u:object_r:tty_device:s0 tclass=chr_file
          avc:  denied  { sys_tty_config } for  pid=132 comm="recovery" capability=26  scontext=u:r:recovery:s0 tcontext=u:r:recovery:s0 tclass=capability
          avc:  denied  { setfcap } for  pid=142 comm="update_binary" capability=31  scontext=u:r:recovery:s0 tcontext=u:r:recovery:s0 tclass=capability
      
      Change-Id: I5219303fbd5afe8f74919db153af6525c0b54154
      8b7ca455
    • Nick Kralevich's avatar
      remove shell_data_file from unconfined. · ee49c0e3
      Nick Kralevich authored
      Domains which want to access /data/local/tmp must do so by
      creating their own SELinux domain.
      
      Bug: 15164984
      Change-Id: I0061129c64e659c552cf6565058b0786fba59ae0
      ee49c0e3
  6. Jun 06, 2014
  7. Jun 05, 2014
    • Nick Kralevich's avatar
      Allow adbd / shell /data/anr access · 4fd4a205
      Nick Kralevich authored
      The shell user needs to be able to run commands like
      "cat /data/anr/traces.txt". Allow it.
      
      We also need to be able to pull the file via adb.
      "adb pull /data/anr/traces.txt". Allow it.
      
      Addresses the following denials:
      
      <4>[   20.212398] type=1400 audit(1402000262.433:11): avc: denied { getattr } for pid=1479 comm="adbd" path="/data/anr/traces.txt" dev="mmcblk0p28" ino=325763 scontext=u:r:adbd:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file
      <4>[   20.252182] type=1400 audit(1402000262.473:12): avc: denied { read } for pid=1479 comm="adbd" name="traces.txt" dev="mmcblk0p28" ino=325763 scontext=u:r:adbd:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file
      <4>[   20.252579] type=1400 audit(1402000262.473:13): avc: denied { open } for pid=1479 comm="adbd" name="traces.txt" dev="mmcblk0p28" ino=325763 scontext=u:r:adbd:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file
      <4>[   27.104068] type=1400 audit(1402000268.479:14): avc: denied { read } for pid=2377 comm="sh" name="traces.txt" dev="mmcblk0p28" ino=325763 scontext=u:r:shell:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file
      
      Bug: 15450720
      Change-Id: I767102a7182895112838559b0ade1cd7c14459ab
      4fd4a205
    • Nick Kralevich's avatar
      0341e1ab
    • Nick Kralevich's avatar
      refine recovery domain. · a03d761f
      Nick Kralevich authored
      Make sure we have all necessary rules to modify system_file and
      exec_type.
      
      Allow writing to /proc/sys/vm/drop_caches and other proc
      files.
      
      Addresses denials like:
      
        avc:  denied  { getattr } for  pid=152 comm="update_binary" path="/system/bin/debuggerd" dev="mmcblk0p21" ino=88 scontext=u:r:recovery:s0 tcontext=u:object_r:debuggerd_exec:s0 tclass=file
        avc:  denied  { read } for  pid=152 comm="update_binary" name="debuggerd" dev="mmcblk0p21" ino=88 scontext=u:r:recovery:s0 tcontext=u:object_r:debuggerd_exec:s0 tclass=file
        avc:  denied  { open } for  pid=152 comm="update_binary" name="debuggerd" dev="mmcblk0p21" ino=88 scontext=u:r:recovery:s0 tcontext=u:object_r:debuggerd_exec:s0 tclass=file
        avc:  denied  { remove_name } for  pid=152 comm="update_binary" name="framework.jar" dev="mmcblk0p21" ino=1600 scontext=u:r:recovery:s0 tcontext=u:object_r:system_file:s0 tclass=dir
        avc:  denied  { add_name } for  pid=152 comm="update_binary" name="Foo.apk.patch" scontext=u:r:recovery:s0 tcontext=u:object_r:system_file:s0 tclass=dir
        avc:  denied  { write } for  pid=152 comm="update_binary" name="drop_caches" dev="proc" ino=8288 scontext=u:r:recovery:s0 tcontext=u:object_r:proc:s0 tclass=file
      
      recovery is still in permissive_or_unconfined(), so no rules are
      being enforced.
      
      Change-Id: I14ca777fe27a2b0fd9a0aefce5ddcc402b1e5a59
      a03d761f
  8. Jun 04, 2014
    • Nick Kralevich's avatar
      Don't grant domain device:dir rw_dir_perms · 2bcea0a3
      Nick Kralevich authored
      write_logd() is allowed for domain, which means that all domains
      are permitted read/write access to /dev. That's overly permissive
      and causes substantial differences between user and userdebug/eng
      devices.
      
      Remove domain device:dir rw_dir_perms access. It's not needed.
      
      Allow all domains to write/append to logd_debug. logd is responsible
      for creating this file if need be. Remove logd_debug file create
      permissions. This also eliminates the need for the type_transition
      rules.
      
      Bug: 15419803
      Change-Id: I7dc3c4df8d413c649c24ae7bc15546d64226ce3b
      2bcea0a3
    • Nick Kralevich's avatar
      Merge "More recovery rules" · dde428a9
      Nick Kralevich authored
      dde428a9
    • Nick Kralevich's avatar
      Merge "Make racoon enforcing." · 3d2eb27d
      Nick Kralevich authored
      3d2eb27d
    • Nick Kralevich's avatar
      More recovery rules · 03dbf07a
      Nick Kralevich authored
      Better refine the rules surrounding the recovery SELinux
      domain, and get rid of dmesg log spam.
      
      Recovery is still in permissive_or_unconfined(), so no expected
      change in behavior.
      
      Change-Id: Ie5a86f8f5d7581547879c476ebcfdb8c0876263c
      03dbf07a
    • Nick Kralevich's avatar
    • Stephen Smalley's avatar
      Allow installd to stat asec files and /data/media files. · d2622fda
      Stephen Smalley authored
      
      Addresses denials such as:
      avc: denied { getattr } for comm="installd" path="/data/app-asec/com.vectorunit.red-1.asec" dev="dm-0" ino=578229 scontext=u:r:installd:s0 tcontext=u:object_r:asec_image_file:s0 tclass=file
      
      avc:  denied  { getattr } for  pid=262 comm="installd" path="/data/media/0/Android/data/com.google.android.apps.maps/cache/cache_vts_tran_base_GMM.m" dev="dm-0" ino=124930 scontext=u:r:installd:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file
      
      Change-Id: I406f1bea32736e2277adae1629a879fac0d714b6
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      d2622fda
    • Stephen Smalley's avatar
      Allow system_server access to /data/media files passed via Binder. · 2cc6d63d
      Stephen Smalley authored
      
      Addresses denials such as:
       avc: denied { read } for comm="Binder_6" path="/data/media/0/zedge/ringtone/love_tone_2014-ringtone-1665292.mp3" dev="mmcblk0p28" ino=1534267 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file
       avc: denied { getattr } for comm="Binder_9" path="/data/media/0/zedge/ringtone/love_tone_2014-ringtone-1665292.mp3" dev="mmcblk0p28" ino=1534267 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file
      
      Change-Id: I5e5744eecf2cbd4fc584db8584be4e9101bcb60c
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      2cc6d63d
    • Nick Kralevich's avatar
      Merge adf_device into graphics_device · 84ed890a
      Nick Kralevich authored
      As of sepolicy commit a16a59e2
      (https://android-review.googlesource.com/94580), adf_device
      and graphics_device have the exact same security properties.
      
      Merge them into one type to avoid a proliferation of SELinux
      types.
      
      Change-Id: Ib1a24f5d880798600e103b9e14934e41abb1ef95
      84ed890a
  9. Jun 03, 2014
  10. Jun 02, 2014
Loading