Skip to content
Snippets Groups Projects
  1. Jun 13, 2014
  2. Jun 10, 2014
  3. Jun 12, 2014
    • Stephen Smalley's avatar
      Make the mediaserver domain enforcing. · f0ffff0b
      Stephen Smalley authored
      
      Change-Id: Ib693b563c2db6abc02cf7dbeb12ed61c09734fa8
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      f0ffff0b
    • Nick Kralevich's avatar
      Remove world-read access to /data/dalvik-cache/profiles · 86703051
      Nick Kralevich authored
      Remove /data/dalvik-cache/profiles from domain. Profiling information
      leaks data about how people interact with apps, so we don't want
      the data to be available in all SELinux domains.
      
      Add read/write capabilities back to app domains, since apps need to
      read/write profiling data.
      
      Remove restorecon specific rules. The directory is now created by
      init, not installd, so installd doesn't need to set the label.
      
      Change-Id: Ic1b44009faa30d704855e97631006c4b990a4ad3
      86703051
    • Lorenzo Colitti's avatar
      Allow clatd to read from packet sockets and write to raw sockets · 6cd57a43
      Lorenzo Colitti authored
      This addresses the following denials that occur when switching
      clatd from an IPv6 tun interface to packet and raw sockets:
      
      avc: denied { net_raw } for pid=3540 comm="clatd" capability=13 scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=capability
      avc: denied { create } for pid=3540 comm="clatd" scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=packet_socket
      avc: denied { bind } for pid=3540 comm="clatd" scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=packet_socket
      avc: denied { setopt } for pid=3540 comm="clatd" scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=packet_socket
      avc: denied { read } for pid=3540 comm="clatd" path="socket:[19117]" dev="sockfs" ino=19117 scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=packet_socket
      
      Bug: 15340961
      Change-Id: I3c06e8e3e0cfc0869a7b73c803bbffe28369ee5e
      6cd57a43
    • Nick Kralevich's avatar
      b0ee91a4
    • Riley Spahn's avatar
      Add SELinux rules for service_manager. · f90c41f6
      Riley Spahn authored
      Add a service_mananger class with the verb add.
      Add a type that groups the services for each of the
      processes that is allowed to start services in service.te
      and an attribute for all services controlled by the service
      manager. Add the service_contexts file which maps service
      name to target label.
      
      Bug: 12909011
      Change-Id: I017032a50bc90c57b536e80b972118016d340c7d
      f90c41f6
    • Stephen Smalley's avatar
      Allow shell to read/search /dev/input directory. · a2e4e265
      Stephen Smalley authored
      
      Resolves denials such as:
      avc: denied { read } for pid=16758 comm="getevent" name="input" dev="tmpfs" ino=6018 scontext=u:r:shell:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      
      Change-Id: I709bd20a03a5271382b191393d55a34b0b8e4e0c
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      a2e4e265
  4. Jun 10, 2014
  5. Jun 11, 2014
    • Stephen Smalley's avatar
      Allow installd to chown/chmod app data files. · 89b9ff7e
      Stephen Smalley authored
      
      Addresses denials such as:
      avc: denied { setattr } for comm="installd" name="com.android.calendar_preferences_no_backup.xml" dev="mmcblk0p28" ino=1499393 scontext=u:r:installd:s0 tcontext=u:object_r:app_data_file:s0 tclass=file                                        avc: denied { setattr } for comm="installd" name="calendar_alerts.xml" dev="mmcblk0p28" ino=1499463 scontext=u:r:installd:s0 tcontext=u:object_r:app_data_file:s0 tclass=file
      avc: denied { setattr } for comm="installd" name="_has_set_default_values.xml" dev="mmcblk0p28" ino=1499428 scontext=u:r:installd:s0 tcontext=u:object_r:app_data_file:s0 tclass=file
      
      Change-Id: I0622f1a9d2b10e28be2616f91edf33bc048b4ac7
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      89b9ff7e
    • Stephen Smalley's avatar
      Allow dnsmasq to inherit/use netd UDP socket. · 7c11bdc4
      Stephen Smalley authored
      
      Addresses denials such as:
      avc: denied { read write } for comm="dnsmasq" path="socket:[1054090]" dev="sockfs" ino=1054090 scontext=u:r:dnsmasq:s0 tcontext=u:r:netd:s0 tclass=udp_socket
      This may not be needed (need to check netd to see if it should be closing
      all of these sockets before exec'ing other programs), but should be harmless.
      
      Change-Id: I77c7af5e050e039fd48322914eeabbcb8a716040
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      7c11bdc4
    • 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. Jun 06, 2014
  11. 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
  12. 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
Loading