Commit graph

4099 commits

Author SHA1 Message Date
Stephen Smalley
0f671bb074 am ed532c06: init: remove permissive_or_unconfined()
* commit 'ed532c06d610cf992b8e86c0cbf812865747a53b':
  init: remove permissive_or_unconfined()
2015-02-28 03:20:48 +00:00
Stephen Smalley
ed532c06d6 init: remove permissive_or_unconfined()
Bug: 19050686
Change-Id: Ie41c3e4d5aaeb43577ba85a4768a5fdbdd665efb
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-02-27 19:14:27 -08:00
Nick Kralevich
de41e919e6 am a8e073cd: Create boot_block_device and allow install_recovery read access
* commit 'a8e073cde0e7d39ebe5d97de497edf22713d3501':
  Create boot_block_device and allow install_recovery read access
2015-02-28 02:18:51 +00:00
Nick Kralevich
a8e073cde0 Create boot_block_device and allow install_recovery read access
The install_recovery script creates a new recovery image based
off of the boot image plus a patch on /system. We need to allow
read access to the boot image to allow the patching to succeed,
otherwise OTAs are broken.

Addresses the following denial:

  type=1400 audit(9109404.519:6): avc: denied { read } for pid=341 comm="applypatch" name="mmcblk0p37" dev="tmpfs" ino=9186 scontext=u:r:install_recovery:s0 tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0

TODO: Add device specific labels for the boot image.

Bug: 19534538
Change-Id: Ic811ec03e235df3b1bfca9b0a65e23307cd968aa
2015-02-27 17:39:09 -08:00
Nick Kralevich
ad9cb7e5b5 am 543faccc: allow init tmpfs:dir relabelfrom
* commit '543faccc62dd9a31fa12a641678de61a44ba7b70':
  allow init tmpfs:dir relabelfrom
2015-02-28 01:15:21 +00:00
dcashman
e8f95b363a Remove read access from mls constraints.
Addresses the following denial encountered when sharing photos between personal
and managed profiles:

Binder_5: type=1400 audit(0.0:236): avc: denied { read } for path="/data/data/com.google.android.apps.plus/cache/media/3/3bbca5f1bcfa7f1-a-nw" dev="dm-0" ino=467800 scontext=u:r:untrusted_app:s0:c529,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file permissive=0

Bug: 19540297
Change-Id: If51108ec5820ca40e066d5ca3e527c7a0f03eca5
2015-02-27 16:03:00 -08:00
Sami Tolvanen
a5931f7908 am a4b82264: Merge "Revert "Allow ueventd to set verity.* properties""
* commit 'a4b8226457c9bef174aa10b39f3aa0bbeae92260':
  Revert "Allow ueventd to set verity.* properties"
2015-02-27 23:19:14 +00:00
Nick Kralevich
543faccc62 allow init tmpfs:dir relabelfrom
When encrypting a device, or when an encrypted device boots,
a tmpfs is mounted in place of /data, so that a pseudo filesystem
exists to start system_server and related components. SELinux labels
need to be applied to that tmpfs /data so the system boots
properly.

Allow init to relabel a tmpfs /data.

Addresses the following denial:

[    6.294896] type=1400 audit(29413651.850:4): avc:  denied  { relabelfrom } for  pid=1 comm="init" name="/" dev="tmpfs" ino=6360 scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir

Steps to reproduce:
  1) Go into Settings > Security > Encrypt Phone
  2) Encrypt phone
  3) See denial
  4) reboot phone
  5) See denial on boot

Bug: 19050686
Change-Id: Ie57864fe1079d9164d5cfea44683a97498598e41
2015-02-27 14:54:40 -08:00
Sami Tolvanen
a4b8226457 Merge "Revert "Allow ueventd to set verity.* properties"" 2015-02-27 22:19:53 +00:00
Sami Tolvanen
9f0682dc50 Revert "Allow ueventd to set verity.* properties"
Updating properties from ueventd may lead to deadlocks with init in rare
cases, which makes these changes unnecessary after all.

This reverts commit 47cd53a558.

Change-Id: I87bdd66f0ec025eb3a9ea17574a67e908f3de6da
2015-02-27 22:18:01 +00:00
Nick Kralevich
c73e0b06e3 am 006ede39: Merge "dontaudit clatd self:capability ipc_lock"
* commit '006ede391e0b17d8fb4826b7f748c4545a2c3977':
  dontaudit clatd self:capability ipc_lock
2015-02-27 17:04:46 +00:00
Nick Kralevich
a88a0301f0 am a3364dfd: Merge "kernel.te: fix MTP sync"
* commit 'a3364dfd25cb42edf116903dce6890dd95ef36db':
  kernel.te: fix MTP sync
2015-02-27 17:04:45 +00:00
Sami Tolvanen
bd7da3eb5f am 9d87c647: Allow init to execute /sbin/slideshow
* commit '9d87c647afdc478245579090eae1ca2d1ae8d341':
  Allow init to execute /sbin/slideshow
2015-02-27 17:04:44 +00:00
Nick Kralevich
006ede391e Merge "dontaudit clatd self:capability ipc_lock" 2015-02-27 14:44:20 +00:00
Nick Kralevich
a3364dfd25 Merge "kernel.te: fix MTP sync" 2015-02-27 14:13:36 +00:00
Nick Kralevich
1025d1383b kernel.te: fix MTP sync
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
2015-02-26 20:50:09 -08:00
Nick Kralevich
b4c4424c99 dontaudit clatd self:capability ipc_lock
clatd calls mmap(MAP_LOCKED) with a 1M buffer. MAP_LOCKED first checks
capable(CAP_IPC_LOCK), and then checks to see the requested amount is
under RLIMIT_MEMLOCK. The latter check succeeds. As a result, clatd
does not need CAP_IPC_LOCK, so we suppress any denials we see
from clatd asking for this capability.
See https://android-review.googlesource.com/127940

Suppresses the following denial:
  type=1400 audit(1424916750.163:7): avc: denied { ipc_lock } for pid=3458 comm="clatd" capability=14 scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=capability

Change-Id: Ica108f66010dfc6a5431efa0b4e58f6a784672d1
2015-02-26 16:55:51 -08:00
Sami Tolvanen
9d87c647af Allow init to execute /sbin/slideshow
Add rules to allow /sbin/slideshow to access framebuffer and input
devices at early stages of boot, and rules to allow init to execute
the program (from init.rc using exec).

Needed by changes from
  I58c79a7f3ac747eec0d73a10f018d3d8ade9df7d

Change-Id: I1d5018feb7025853f0bf81651f497fef8c3a6ab0
2015-02-26 17:23:29 +00:00
Nick Kralevich
cd31111d5e am d99ea5a8: Merge "Revert /proc/net related changes"
* commit 'd99ea5a8af11216fb3e2e315c6310d2af4f02afc':
  Revert /proc/net related changes
2015-02-26 14:32:39 +00:00
Nick Kralevich
d99ea5a8af Merge "Revert /proc/net related changes" 2015-02-26 14:26:09 +00:00
Nick Kralevich
88e51490d7 am 9fe810b7: allow kernel to use vold file descriptors
* commit '9fe810b7392c1c1ca17b7700eab88ccdf8fa9d2d':
  allow kernel to use vold file descriptors
2015-02-26 01:07:04 +00:00
Nick Kralevich
9fe810b739 allow kernel to use vold file descriptors
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
2015-02-25 15:14:09 -08:00
Mohamad Ayyash
988d8ac76d am ab4be88e: fs_use: Enabled loading security xattrs for squashfs
* commit 'ab4be88ecbd04e8930b534a33eb74ade6364d481':
  fs_use: Enabled loading security xattrs for squashfs
2015-02-25 22:47:01 +00:00
Mohamad Ayyash
ab4be88ecb fs_use: Enabled loading security xattrs for squashfs
Change-Id: Icfa4b2cac6a960ef47e928308e4c6c9bd797d180
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-02-25 14:18:11 -08:00
Nick Kralevich
5cf3994d8a Revert /proc/net related changes
Revert the tightening of /proc/net access. These changes
are causing a lot of denials, and I want additional time to
figure out a better solution.

Addresses the following denials (and many more):

  avc: denied { read } for comm="SyncAdapterThre" name="stats" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
  avc: denied { read } for comm="facebook.katana" name="iface_stat_fmt" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
  avc: denied { read } for comm="IntentService[C" name="if_inet6" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
  avc: denied { read } for comm="dumpstate" name="iface_stat_all" dev="proc" ino=X scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file

This reverts commit 0f0324cc82
and commit 99940d1af5

Bug: 9496886
Bug: 19034637
Change-Id: I436a6e3638ac9ed49afbee214e752fe2b0112868
2015-02-25 13:35:17 -08:00
Nick Kralevich
3cbe57fc3c am 28ddd104: su: don\'t auditallow service_manager for su
* commit '28ddd1042a2064f02cb55844180b9cafbce9e1c6':
  su: don't auditallow service_manager for su
2015-02-25 18:54:16 +00:00
Nick Kralevich
28ddd1042a su: don't auditallow service_manager for su
Addresses the following auditallow messages:

  avc: granted { find } for service=accessibility scontext=u:r:su:s0 tcontext=u:object_r:accessibility_service:s0 tclass=service_manager
  avc: granted { find } for service=activity scontext=u:r:su:s0 tcontext=u:object_r:activity_service:s0 tclass=service_manager
  avc: granted { find } for service=package scontext=u:r:su:s0 tcontext=u:object_r:package_service:s0 tclass=service_manager
  avc: granted { find } for service=user scontext=u:r:su:s0 tcontext=u:object_r:user_service:s0 tclass=service_manager
  avc: granted { find } for service=window scontext=u:r:su:s0 tcontext=u:object_r:window_service:s0 tclass=service_manager

Change-Id: Ie58ad3347e9ef1aacd39670cfec7d095875e237b
2015-02-25 09:48:54 -08:00
Nick Kralevich
4437e6540d am 4308ce8c: kernel: make kernel an mlstrustedsubject
* commit '4308ce8c7cadae3880c61f2fd62506c3541bd18d':
  kernel: make kernel an mlstrustedsubject
2015-02-25 13:23:08 +00:00
Nick Kralevich
4308ce8c7c kernel: make kernel an mlstrustedsubject
Addresses post-review comment in
https://android-review.googlesource.com/130620

Change-Id: I427ba99d63724eb526d41da47b95cc0ae038acdd
2015-02-24 18:45:46 -08:00
Nick Kralevich
19d9edc2e3 am f95858ed: Merge "kernel: remove permissive_or_unconfined()"
* commit 'f95858ede29064fad4788486b8c6c498e6acd1a7':
  kernel:  remove permissive_or_unconfined()
2015-02-24 23:14:24 +00:00
Nick Kralevich
f95858ede2 Merge "kernel: remove permissive_or_unconfined()" 2015-02-24 23:08:47 +00:00
Nick Kralevich
5f6e9303f4 am f70fcbd8: Merge "sepolicy: remove block_device access from install_recovery"
* commit 'f70fcbd8789c381357f464863f613e16585fe864':
  sepolicy:  remove block_device access from install_recovery
2015-02-24 22:33:57 +00:00
Nick Kralevich
f70fcbd878 Merge "sepolicy: remove block_device access from install_recovery" 2015-02-24 22:28:01 +00:00
Stephen Smalley
f5e7162f1d sepolicy: remove block_device access from install_recovery
The recovery partition has been assigned a recovery_block_device
type for the AOSP devices, so install_recovery should not need
rw access to the generic block_device type.  Remove it.

Change-Id: I31621a8157998102859a6e9eb76d405caf6d5f0d
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-02-24 18:11:51 -05:00
Nick Kralevich
2714e41a3c am b4876619: Merge "bootchart: add policy rules for bootchart"
* commit 'b487661946ad632e34412ffccf55d43723ded572':
  bootchart: add policy rules for bootchart
2015-02-24 17:22:51 +00:00
Nick Kralevich
b487661946 Merge "bootchart: add policy rules for bootchart" 2015-02-24 17:18:51 +00:00
Stephen Smalley
a02dbf4ee3 am 884ee2a6: checkseapp, seapp_contexts: drop sebool= support.
* commit '884ee2a61cc78ddaaf54b812932730045dd155c3':
  checkseapp, seapp_contexts:  drop sebool= support.
2015-02-24 00:39:50 +00:00
Stephen Smalley
afc841af8d am 534fb071: checkseapp: Detect duplicate keys in seapp_contexts entries.
* commit '534fb0711d95615a77af23ffe643e8b720a527e6':
  checkseapp:  Detect duplicate keys in seapp_contexts entries.
2015-02-24 00:39:49 +00:00
Stephen Smalley
884ee2a61c checkseapp, seapp_contexts: drop sebool= support.
SELinux policy booleans are prohibited in AOSP, so we can drop the
support for the sebool= input selector.

Change-Id: I5ae31247b2f68d90f6ae4c8830458f22c4ffc854
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-02-24 00:36:24 +00:00
Stephen Smalley
534fb0711d checkseapp: Detect duplicate keys in seapp_contexts entries.
Presently it ignores duplicate keys in seapp_contexts entries, e.g.
if you were to specify:

user=system seinfo=platform user=bluetooth domain=system_app type=system_app_data_file

checkseapp would ignore the duplicate and libselinux would end up using
the last value defined for the key in each line.

Change-Id: I18cadb0c1bf5a907e6fc6513df65aafed91d76fe
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-02-24 00:35:23 +00:00
Nick Kralevich
29d2a05b78 am c6a0feb4: Merge "checkseapp: Detect duplicate entries within seapp_contexts."
* commit 'c6a0feb44d3f9bb1f30671dad298040c594a2fe6':
  checkseapp:  Detect duplicate entries within seapp_contexts.
2015-02-24 00:05:53 +00:00
Nick Kralevich
c6a0feb44d Merge "checkseapp: Detect duplicate entries within seapp_contexts." 2015-02-24 00:00:02 +00:00
Nick Kralevich
c62718d31a am 74ddf301: neverallow mounton lnk_file fifo_file sock_file
* commit '74ddf301a086a829787ed4fd98154a86534cf5d7':
  neverallow mounton lnk_file fifo_file sock_file
2015-02-23 21:19:20 +00:00
Nick Kralevich
74ddf301a0 neverallow mounton lnk_file fifo_file sock_file
Add a compile time assertion that no SELinux rule exists which
allows mounting on top of symbolic links, fifo files, or socket
files. Remove the capability from unconfined domains.

Change-Id: I6d7cc95cd17e2e5f165fa5948563800ed206bb71
2015-02-23 13:05:49 -08:00
Stephen Smalley
0bd760e47c am 68a8f780: sepolicy: Add an introduction to the README.
* commit '68a8f780d22519176fa9bc43de5b4d151dd93338':
  sepolicy:  Add an introduction to the README.
2015-02-23 18:29:14 +00:00
Stephen Smalley
68a8f780d2 sepolicy: Add an introduction to the README.
The README jumped directly into using the BOARD_SEPOLICY_*
variables for device-specific policy; add a short introduction
describing what external/sepolicy contains and noting where to put
device-specific policy.

Change-Id: I3c800df93d70074384da993a689a5a0771ecb314
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-02-23 12:37:21 -05:00
Yongqin Liu
cc38e6d1a4 bootchart: add policy rules for bootchart
allow the bootchart to create dir and files at init,
also allow user to create the stop and start file under
/data/bootchart directory to start and stop bootchart

Change-Id: Icfee8dcd17366383eef00fbe3139744bf4427a6b
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2015-02-24 01:02:20 +08:00
Stephen Smalley
60c624b26c am 7d1b6c87: sepolicy: allow cross-user unnamed pipe access
* commit '7d1b6c87924a74e2163763a659fcca870a672e3c':
  sepolicy:  allow cross-user unnamed pipe access
2015-02-20 19:24:47 +00:00
Stephen Smalley
7d1b6c8792 sepolicy: allow cross-user unnamed pipe access
Exempt unnamed pipes from the MLS constraints so that they can
be used for cross-user communications when passed over binder or
local socket IPC.

Addresses denials such as:
avc: denied { read } for path="pipe:[59071]" dev="pipefs" ino=59071 scontext=u:r:untrusted_app:s0:c522,c768 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=fifo_file

Bug: 19087939

Change-Id: I77d494c4a38bf473fec05b728eaf253484deeaf8
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-02-20 11:16:20 -08:00
Bill Yi
44f20421bd Merge commit '5adb97c12a76853a0b80ca89e9b39ec8d380d162' into HEAD 2015-02-19 14:31:27 -08:00