Skip to content
Snippets Groups Projects
  1. Oct 31, 2016
    • Nick Kralevich's avatar
      kernel.te: tighten entrypoint / execute_no_trans neverallow · 02cfce49
      Nick Kralevich authored
      The kernel domain exists solely on boot, and is used by kernel threads.
      Because of the way the system starts, there is never an entrypoint for
      that domain, not even a file on rootfs. So tighten up the neverallow
      restriction.
      
      Remove an obsolete comment. The *.rc files no longer have a setcon
      statement, and the transition from the kernel domain to init occurs
      because init re-execs itself. The statement no longer applies.
      
      Test: bullhead policy compiles.
      Change-Id: Ibe75f3d25804453507dbb05c7a07bba1d37a1c7b
      02cfce49
  2. 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
  3. Sep 12, 2016
  4. Sep 10, 2016
  5. Aug 29, 2016
    • Jeff Vander Stoep's avatar
      DO NOT MERGE: Allow kernel to read proc · c8820d04
      Jeff Vander Stoep authored
      (cherry picked from commit 48d68a64)
      
      Remove audit messaged.
      
      Addresses:
      avc:  granted  { read } for  pid=1 comm="init" name="cmdline" dev="proc" ino=4026535448 scontext=u:r:kernel:s0 tcontext=u:object_r:proc:s0 tclass=file
      avc:  granted  { read open } for  pid=1 comm="init" path="/proc/cmdline" dev="proc" ino=4026535448 scontext=u:r:kernel:s0 tcontext=u:object_r:proc:s0 tclass=file
      
      Bug: 28760354
      Change-Id: I48ea01b35c6d1b255995484984ec92203b6083be
      c8820d04
    • Jeff Vander Stoep's avatar
      DO NOT MERGE: audit domain_deprecated perms for removal · fe8d6739
      Jeff Vander Stoep authored
      Grant permissions observed.
      
      (cherry picked from commit 9c820a11)
      
      Merged-in: Ifdead51f873eb587556309c48fb84ff1542ae303
      Bug: 28760354
      Change-Id: Ifdead51f873eb587556309c48fb84ff1542ae303
      fe8d6739
  6. Jul 26, 2016
  7. May 03, 2016
    • Sen Jiang's avatar
      Allow reading loop device in update_engine_unittests. · 2b267293
      Sen Jiang authored
      This fixes the following denies:
      type=1400 audit(0.0:4389): avc: denied { read } for path="/data/misc/update_engine/tmp/a_loop_file.W0j9ss" dev="mmcblk0p13" ino=24695 scontext=u:r:kernel:s0 tcontext=u:object_r:update_engine_data_file:s0 tclass=file permissive=0
      type=1400 audit(0.0:30): avc: denied { read } for path="/data/nativetest/update_engine_unittests/gen/disk_ext2_unittest.img" dev="mmcblk0p13" ino=71 scontext=u:r:kernel:s0 tcontext=u:object_r:nativetest_data_file:s0 tclass=file permissive=0
      
      Bug: 28319454
      Test: setenforce 1 && ./update_engine_unittests
      
      Change-Id: I8d54709d4bda06b364b5420d196d75a4ecc011d3
      2b267293
  8. Mar 31, 2016
    • Daniel Rosenberg's avatar
      Allow access to media_rw_data_file for now. · d25d57a3
      Daniel Rosenberg authored
      With sdcardfs, we no longer have a separate sdcardd acting as
      an intermediate between the outside world and /data/media.
      Unless we modify sdcardfs to change contexts, we need these.
      Added for: adbd, kernel, mediaserver, and shell
      
      Remove this patch if sdcardfs is updated to change the
      secontext of fs accesses.
      
      Bug: 27915475
      Bug: 27937873
      
      Change-Id: I25edcfc7fb8423b3184db84040bda790a1042724
      d25d57a3
  9. Feb 05, 2016
    • Nick Kralevich's avatar
      Replace "neverallow domain" by "neverallow *" · 35a14514
      Nick Kralevich authored
      Modify many "neverallow domain" rules to be "neverallow *" rules
      instead. This will catch more SELinux policy bugs where a label
      is assigned an irrelevant rule, as well as catch situations where
      a domain attribute is not assigned to a process.
      
      Change-Id: I5b83a2504c13b384f9dff616a70ca733b648ccdf
      35a14514
  10. Jan 28, 2016
    • Jeff Vander Stoep's avatar
      kernel: grant perms from domain_deprecated · bc2b76b0
      Jeff Vander Stoep authored
      In preparation of removing permissions from domain_deprecated.
      
      Addresses:
      avc: denied { read } for name="enforce" dev="selinuxfs" ino=4 scontext=u:r:kernel:s0 tcontext=u:object_r:selinuxfs:s0 tclass=file permissive=1
      avc: denied { open } for path="/sys/fs/selinux/enforce" dev="selinuxfs" ino=4 scontext=u:r:kernel:s0 tcontext=u:object_r:selinuxfs:s0 tclass=file permissive=1
      avc: denied { read } for name="selinux_version" dev="rootfs" ino=4765 scontext=u:r:kernel:s0 tcontext=u:object_r:rootfs:s0 tclass=file permissive=1
      avc: denied { open } for path="/selinux_version" dev="rootfs" ino=4765 scontext=u:r:kernel:s0 tcontext=u:object_r:rootfs:s0 tclass=file permissive=1
      avc: denied { getattr } for path="/selinux_version" dev="rootfs" ino=4765 scontext=u:r:kernel:s0 tcontext=u:object_r:rootfs:s0 tclass=file permissive=1
      
      Change-Id: I62cbffe85941677283d3b7bf8fc1c437671569a3
      bc2b76b0
  11. Jan 16, 2016
  12. Nov 03, 2015
    • Jeff Vander Stoep's avatar
      Create attribute for moving perms out of domain · d22987b4
      Jeff Vander Stoep authored
      Motivation: Domain is overly permissive. Start removing permissions
      from domain and assign them to the domain_deprecated attribute.
      Domain_deprecated and domain can initially be assigned to all
      domains. The goal is to not assign domain_deprecated to new domains
      and to start removing domain_deprecated where it is not required or
      reassigning the appropriate permissions to the inheriting domain
      when necessary.
      
      Bug: 25433265
      Change-Id: I8b11cb137df7bdd382629c98d916a73fe276413c
      d22987b4
  13. Oct 28, 2015
    • Jeff Vander Stoep's avatar
      audit mtp sync permission · 94ee59bc
      Jeff Vander Stoep authored
      Determine if the following rule can be removed:
      
      allow kernel untrusted_app:fd use
      
      Bug: 25331459
      Change-Id: I4ef9f376d7fc1d2bdfba69b2fb3e24d49ac136ad
      94ee59bc
  14. Oct 27, 2015
    • Jeff Vander Stoep's avatar
      Fix MTP sync · 9ba8ade5
      Jeff Vander Stoep authored
      Address the following denial:
      avc: denied { use } for path="/storage/emulated/0/305512.pdf" dev="fuse"
      ino=239 scontext=u:r:kernel:s0 tcontext=u:r:priv_app:s0:c512,c768 tclass=fd
      permissive=0
      
      Bug: 25068662
      Change-Id: Ic29d9569ff387dfd411363db751c3642572c8e85
      9ba8ade5
  15. May 06, 2015
    • Nick Kralevich's avatar
      kernel: allow rebooting, and writing to /dev/__kmsg__ · 618efe8c
      Nick Kralevich authored
      Addresses the following denials:
      
        avc:  denied  { write } for  pid=1 comm="init" path=2F6465762F5F5F6B6D73675F5F202864656C6574656429 dev="tmpfs" ino=7214 scontext=u:r:kernel:s0 tcontext=u:object_r:tmpfs:s0 tclass=chr_file permissive=0
        avc:  denied  { write } for  pid=1 comm="init" name="sysrq-trigger" dev="proc" ino=4026534153 scontext=u:r:kernel:s0 tcontext=u:object_r:proc_sysrq:s0 tclass=file permissive=0
        avc:  denied  { sys_boot } for  pid=1 comm="init" capability=22  scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
      
      (cherrypicked from commit e550e79c)
      
      Change-Id: I46be370d520c4492d97c6ed7ccdc55cc20b22c49
      618efe8c
    • Nick Kralevich's avatar
      kernel: allow rebooting, and writing to /dev/__kmsg__ · e550e79c
      Nick Kralevich authored
      Addresses the following denials:
      
        avc:  denied  { write } for  pid=1 comm="init" path=2F6465762F5F5F6B6D73675F5F202864656C6574656429 dev="tmpfs" ino=7214 scontext=u:r:kernel:s0 tcontext=u:object_r:tmpfs:s0 tclass=chr_file permissive=0
        avc:  denied  { write } for  pid=1 comm="init" name="sysrq-trigger" dev="proc" ino=4026534153 scontext=u:r:kernel:s0 tcontext=u:object_r:proc_sysrq:s0 tclass=file permissive=0
        avc:  denied  { sys_boot } for  pid=1 comm="init" capability=22  scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
      
      Change-Id: I46be370d520c4492d97c6ed7ccdc55cc20b22c49
      e550e79c
  16. Apr 24, 2015
  17. Mar 28, 2015
    • Nick Kralevich's avatar
      kernel: allow usbfs:dir search · 883fcfcf
      Nick Kralevich authored
      The deprecated/deleted usbfs kernel driver gets really unhappy when
      SELinux denies it access to directories. On flo (3.4.0 kernel), this
      comes across as an SELinux denial followed by a kernel panic.
      
      Steps to reproduce:
      
        1. plug in a USB device.
        2. notice nothing happens.
        3. unplug the USB device
        4. plug it in again, watch for restart.
      
      Expected:
        USB device works
      
      Actual:
        [329180.030242] Host mode: Set DC level as 0x68 for flo.
        [329180.030395] msm_hsusb_host msm_hsusb_host: Qualcomm On-Chip EHCI Host Controller
        [329180.030639] Unable to create devices usbfs file
        [329180.030944] type=1400 audit(1425327845.292:12): avc: denied { search } for pid=24033 comm="kworker/0:1" name="/" dev="usbfs" ino=291099 scontext=u:r:kernel:s0 tcontext=u:object_r:usbfs:s0 tclass=dir
        [329180.060394] msm_hsusb_host msm_hsusb_host: new USB bus registered, assigned bus number 1
        [329180.091583] msm_hsusb_host msm_hsusb_host: irq 132, io mem 0x12500000
        [deleted]
        [329180.120178] hub 1-0:1.0: USB hub found
        [329180.120452] hub 1-0:1.0: 1 port detected
        [329180.123199] Unable to handle kernel NULL pointer dereference at virtual address 00000070
        [329180.123443] pgd = c0004000
        [329180.123809] [00000070] *pgd=00000000
        [329180.124206] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
        [329180.124481] CPU: 0    Tainted: G        W     (3.4.0-g2e8a935 #1)
        [329180.124908] PC is at mutex_lock+0xc/0x48
        [329180.125122] LR is at fs_create_file+0x4c/0x128
        [329180.125518] pc : [<c0916708>]    lr : [<c0440ec4>]    psr: a0000013
        [deleted]
        [329180.281005] [<c0916708>] (mutex_lock+0xc/0x48) from [<c0440ec4>] (fs_create_file+0x4c/0x128)
        [329180.281280] [<c0440ec4>] (fs_create_file+0x4c/0x128) from [<c04410c8>] (usbfs_notify+0x84/0x2a8)
        [329180.281738] [<c04410c8>] (usbfs_notify+0x84/0x2a8) from [<c009c3b8>] (notifier_call_chain+0x38/0x68)
        [329180.282257] [<c009c3b8>] (notifier_call_chain+0x38/0x68) from [<c009c600>] (__blocking_notifier_call_chain+0x44/0x58)
        [329180.282745] [<c009c600>] (__blocking_notifier_call_chain+0x44/0x58) from [<c009c628>] (blocking_notifier_call_chain+0x14/0x18)
        [329180.283264] [<c009c628>] (blocking_notifier_call_chain+0x14/0x18) from [<c043ef8c>] (generic_probe+0x74/0x84)
        [329180.283752] [<c043ef8c>] (generic_probe+0x74/0x84) from [<c04387c4>] (usb_probe_device+0x58/0x68)
        [329180.284240] [<c04387c4>] (usb_probe_device+0x58/0x68) from [<c03adc78>] (driver_probe_device+0x148/0x360)
        [329180.284576] [<c03adc78>] (driver_probe_device+0x148/0x360) from [<c03ac76c>] (bus_for_each_drv+0x4c/0x84)
        [329180.285034] [<c03ac76c>] (bus_for_each_drv+0x4c/0x84) from [<c03adfc8>] (device_attach+0x74/0xa0)
        [329180.285522] [<c03adfc8>] (device_attach+0x74/0xa0) from [<c03ac94c>] (bus_probe_device+0x28/0x98)
        [329180.286041] [<c03ac94c>] (bus_probe_device+0x28/0x98) from [<c03ab014>] (device_add+0x444/0x5e4)
        [329180.286529] [<c03ab014>] (device_add+0x444/0x5e4) from [<c042f180>] (usb_new_device+0x248/0x2e4)
        [329180.286804] [<c042f180>] (usb_new_device+0x248/0x2e4) from [<c043472c>] (usb_add_hcd+0x420/0x64c)
        [329180.287292] [<c043472c>] (usb_add_hcd+0x420/0x64c) from [<c044600c>] (msm_otg_sm_work+0xe74/0x1774)
        [329180.287811] [<c044600c>] (msm_otg_sm_work+0xe74/0x1774) from [<c0091d8c>] (process_one_work+0x280/0x488)
        [329180.288299] [<c0091d8c>] (process_one_work+0x280/0x488) from [<c00921a8>] (worker_thread+0x214/0x3b4)
        [329180.288787] [<c00921a8>] (worker_thread+0x214/0x3b4) from [<c0096b14>] (kthread+0x84/0x90)
        [329180.289276] [<c0096b14>] (kthread+0x84/0x90) from [<c000f3c8>] (kernel_thread_exit+0x0/0x8)
      
      Allow the usbfs operation.
      
      Bug: 19568950
      Change-Id: Iffdc7bd93ebde8bb75c57a324b996e1775a0fd1e
      883fcfcf
  18. Mar 26, 2015
    • dcashman's avatar
      Allow kernel to read asec_image_file. · 753b95fe
      dcashman authored
      Address the following denial encountered when installing a forward-locked apk.
      
       W loop0   : type=1400 audit(0.0:36): avc: denied { read } for path="/data/app-asec/smdl1061145377.tmp.asec" dev="mmcblk0p28" ino=180226 scontext=u:r:kernel:s0 tcontext=u:object_r:asec_image_file:s0 tclass=file
      
      Bug: 19936901
      Change-Id: I829858564a8f89677b2bb4cbd4c8fe4250ae51de
      753b95fe
  19. Feb 27, 2015
    • Nick Kralevich's avatar
      kernel.te: fix MTP sync · 1025d138
      Nick Kralevich authored
      STEPS TO REPRODUCE:
        1. Connect the device to Mac.
        2. Switch to AFT.
        3. Now AFT on Mac will show the device contents.
        4. Now drag and drop the file to device and observe.
      
      EXPECTED RESULTS:
        Should able to copy.
      
      OBSERVED RESULTS:
        Showing can not copy file and on clicking ok,
        It shows device storage can not connect and close the AFT.
      
      Addresses the following denial:
      
        W kworker/u:11: type=1400 audit(0.0:729): avc: denied { use } for path="/storage/emulated/0/Download/song2.mp3" dev="fuse" ino=143 scontext=u:r:kernel:s0 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=fd
        12310 12530 E MtpRequestPacket: Malformed MTP request packet
      
      ps -Z entry:
        u:r:untrusted_app:s0:c512,c768 u0_a6     12310 203   android.process.media
      
      Bug: 15835289
      Change-Id: I47b653507f8d4089b31254c19f44706077e2e96a
      1025d138
  20. Feb 25, 2015
    • Nick Kralevich's avatar
      allow kernel to use vold file descriptors · 9fe810b7
      Nick Kralevich authored
      Vold opens ASEC containsers on the sdcard, or OBB files from app's
      home directories, both of which are supplied by vold. We need to
      allow kernel threads to access those file descriptors.
      
      Addresses the following denial:
      
        loop0   : type=1400 audit(0.0:28): avc: denied { use } for path="/mnt/secure/asec/smdl1159865753.tmp.asec" dev="mmcblk1" ino=19 scontext=u:r:kernel:s0 tcontext=u:r:vold:s0 tclass=fd permissive=0
      
      Bug: 19516891
      Change-Id: I5a3607b48f5e0e504e4b3fcaec19152c3784f49d
      9fe810b7
    • Nick Kralevich's avatar
      kernel: make kernel an mlstrustedsubject · 4308ce8c
      Nick Kralevich authored
      Addresses post-review comment in
      https://android-review.googlesource.com/130620
      
      Change-Id: I427ba99d63724eb526d41da47b95cc0ae038acdd
      4308ce8c
  21. Feb 10, 2015
  22. 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
  23. Sep 09, 2014
    • Nick Kralevich's avatar
      Allow kernel thread to read app data files · b0a99513
      Nick Kralevich authored
      When vold mounts an OBB on behalf of another application, the kernel
      spins up the "loop0" thread to perform the mount operation. Grant
      the kernel thread the ability to read app data files, so the mount
      operation can succeed.
      
      Steps to reproduce:
      
        1) Run: runtest --path cts/tests/tests/os/src/android/os/storage/cts/StorageManagerTest.java
      
      Expected:
      
        1) All tests pass
      
      Actual:
      
        Test failure, with the following error message:
      
        loop0   : type=1400 audit(0.0:46): avc: denied { read } for path="/data/data/com.android.cts.stub/files/test1.obb" dev="mmcblk0p16" ino=115465 scontext=u:r:kernel:s0 tcontext=u:object_r:app_data_file:s0 tclass=file permissive=0
        Vold    : Image mount failed (I/O error)
        MountService: Couldn't mount OBB file: -1
        StorageManager: Received message.  path=/data/data/com.android.cts.stub/files/test1.obb, state=21
        TestRunner: failed: testMountAndUnmountObbNormal(android.os.storage.cts.StorageManagerTest)
        TestRunner: ----- begin exception -----
        TestRunner: junit.framework.AssertionFailedError: OBB should be mounted
        TestRunner:    at junit.framework.Assert.fail(Assert.java:50)
        TestRunner:    at junit.framework.Assert.assertTrue(Assert.java:20)
        TestRunner:    at android.os.storage.cts.StorageManagerTest.mountObb(StorageManagerTest.java:235)
      
      Bug: 17428116
      Change-Id: Id1a39a809b6c3942ff7e08884b40e3e4eec73b6a
      b0a99513
  24. Aug 27, 2014
    • Nick Kralevich's avatar
      support kernel writes to external SDcards · 28b26bcf
      Nick Kralevich authored
      The kernel, when it creates a loop block device, starts a new
      kernel thread "loop0" (drivers/block/loop.c). This kernel thread,
      which performs writes on behalf of other processes, needs read/write
      privileges to the sdcard. Allow it.
      
      Steps to reproduce:
      0) Get device with external, removable sdcard
      1) Run: "adb install -s foo.apk"
      
      Expected:
      
        APK installs successfully.
      
      Actual:
      
        APK fails to install. Error message:
      
          Vold  E  Failed to write superblock (I/O error)
          loop0  W  type=1400 audit(0.0:3123): avc: denied { read } for path="/mnt/secure/asec/smdl1645334795.tmp.asec" dev="mmcblk1p1" ino=528 scontext=u:r:kernel:s0 tcontext=u:object_r:vfat:s0 tclass=file permissive=0
          PackageHelper  E  Failed to create secure container smdl1645334795.tmp
          DefContainer  E  Failed to create container smdl1645334795.tmp
      
      Bug: 17158723
      
      (cherry picked from commit 4c6b1350)
      
      Change-Id: Iea727ac7958fc31d85a037ac79badbe9c85693bd
      28b26bcf
    • Nick Kralevich's avatar
      support kernel writes to external SDcards · 4c6b1350
      Nick Kralevich authored
      The kernel, when it creates a loop block device, starts a new
      kernel thread "loop0" (drivers/block/loop.c). This kernel thread,
      which performs writes on behalf of other processes, needs read/write
      privileges to the sdcard. Allow it.
      
      Steps to reproduce:
      0) Get device with external, removable sdcard
      1) Run: "adb install -s foo.apk"
      
      Expected:
      
        APK installs successfully.
      
      Actual:
      
        APK fails to install. Error message:
      
          Vold  E  Failed to write superblock (I/O error)
          loop0  W  type=1400 audit(0.0:3123): avc: denied { read } for path="/mnt/secure/asec/smdl1645334795.tmp.asec" dev="mmcblk1p1" ino=528 scontext=u:r:kernel:s0 tcontext=u:object_r:vfat:s0 tclass=file permissive=0
          PackageHelper  E  Failed to create secure container smdl1645334795.tmp
          DefContainer  E  Failed to create container smdl1645334795.tmp
      
      Bug: 17158723
      Change-Id: I4aa86e372cc55348f6b8becfa17bd4da583925d4
      4c6b1350
  25. Jul 15, 2014
  26. Jul 08, 2014
    • Stephen Smalley's avatar
      Rename sdcard_internal/external types. · 374b2a19
      Stephen Smalley authored
      
      Rename sdcard_internal/external types to fuse and vfat
      respectively to make it clear that they are assigned to any
      fuse or vfat filesystem by default (absent a context= mount option)
      and do not necessarily represent the SDcard.
      
      The sdcard_type attribute is still assigned to both types and
      can still be used in allow rules to permit access to either the
      internal or external SDcard.
      
      Define type aliases for the old names to preserve compatibility
      on policy reload and for device-specific policies that may not yet
      be updated.
      
      Change-Id: I8d91a8c4c1342b94e4f1bb62ca7ffd2ca4b06ba1
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      374b2a19
  27. Jun 24, 2014
  28. Jun 19, 2014
    • Stephen Smalley's avatar
      Remove execute_no_trans from unconfineddomain. · f3c3a1aa
      Stephen Smalley authored
      
      execute_no_trans controls whether a domain can execve a program
      without switching to another domain.  Exclude this permission from
      unconfineddomain, add it back to init, init_shell, and recovery for
      files in / and /system, and to kernel for files in / (to permit
      execution of init prior to setcon).  Prohibit it otherwise for the
      kernel domain via neverallow.  This ensures that if a kernel task
      attempts to execute a kernel usermodehelper for which no domain transition
      is defined, the exec will fail.
      
      Change-Id: Ie7b2349923672dd4f5faf7c068a6e5994fd0e4e3
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      f3c3a1aa
  29. Jun 18, 2014
    • Stephen Smalley's avatar
      Prevent adding transitions to kernel or init domains. · bac4ccce
      Stephen Smalley authored
      
      Add neverallow rules to prohibit adding any transitions into
      the kernel or init domains.  Rewrite the domain self:process
      rule to use a positive permission list and omit the transition
      and dyntransition permissions from this list as well as other
      permissions only checked when changing contexts.  This should be
      a no-op since these permissions are only checked when
      changing contexts but avoids needing to exclude kernel or init
      from the neverallow rules.
      
      Change-Id: Id114b1085cec4b51684c7bd86bd2eaad8df3d6f8
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      bac4ccce
    • Stephen Smalley's avatar
      Allow mounting of usbfs. · 718bf84b
      Stephen Smalley authored
      
      Addresses denials such as:
      avc:  denied  { mount } for  pid=5 comm="kworker/u:0" name="/" dev=usbfs ino=3234 scontext=u:r:kernel:s0 tcontext=u:object_r:usbfs:s0 tclass=filesystem
      
      Change-Id: I1db52193e6a2548c37a7809ef44cf7fd3357326d
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      718bf84b
  30. May 30, 2014
  31. May 29, 2014
    • Stephen Smalley's avatar
      Clean up kernel, init, and recovery domains. · eb1bbf26
      Stephen Smalley authored
      
      Narrow the relabelto rules to a more specific type set
      for each domain.
      
      Drop mount permissions from the kernel domain since mounting
      occurs after switching to the init domain.  This was likely
      a residual of when all processes were left in the kernel domain
      on a recovery boot due to the missing setcon statement in the
      recovery init.rc.
      
      Be consistent with unlabeled filesystems (i.e. filesystems
      without any matching fs_use or genfs_contexts entry) so
      that we can also unmount them.
      
      Add comments to note the reason for various rules.
      
      Change-Id: I269a1744ed7bf8c6be899494c5dc97847e5a994d
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      eb1bbf26
    • Nick Kralevich's avatar
      Remove /system write from unconfined · 03ce5120
      Nick Kralevich authored
      Don't allow writes to /system from unconfined domains.
      /system is always mounted read-only, and no process should
      ever need to write there.
      
      Allow recovery to write to /system. This is needed to apply OTA
      images.
      
      Change-Id: I11aa8bd0c3b7f53ebe83806a0547ab8d5f25f3c9
      03ce5120
Loading