Skip to content
This repository was archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
dumpstate: transition into vdc domain
Browse files Browse the repository at this point in the history
dumpstate uses vdc to collect asec lists and do a vold dump.
Force a transition into the vdc domain when this occurs.

Addresses the following denial:

  <4>[ 1099.623572] type=1400 audit(1403716545.565:7): avc: denied { execute } for pid=6987 comm="dumpstate" name="vdc" dev="mmcblk0p8" ino=222 scontext=u:r:dumpstate:s0 tcontext=u:object_r:vdc_exec:s0 tclass=file permissive=0

Change-Id: I4bd9f3ad83480f8c9f9843ffe136295c582f96fe
  • Loading branch information
nickkral committed Jun 25, 2014
1 parent 8c6552a commit c0d1476
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
4 changes: 2 additions & 2 deletions dumpstate.te
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ allow dumpstate { appdomain system_server }:process signal;
# This list comes from native_processes_to_dump in dumpstate/utils.c
allow dumpstate { drmserver mediaserver sdcardd surfaceflinger }:process signal;

# The vdc command needs to talk to the vold socket.
unix_socket_connect(dumpstate, vold, vold)
# Execute and transition to the vdc domain
domain_auto_trans(dumpstate, vdc_exec, vdc)

# Vibrate the device after we're done collecting the bugreport
# /sys/class/timed_output/vibrator/enable
Expand Down
13 changes: 13 additions & 0 deletions vdc.te
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
# vdc spawned from init for the following services:
# defaultcrypto
# encrypt
#
# We also transition into this domain from dumpstate, when
# collecting bug reports.

type vdc, domain;
type vdc_exec, exec_type, file_type;

init_daemon_domain(vdc)

unix_socket_connect(vdc, vold, vold)

# vdc sends information back to dumpstate when "adb bugreport" is used
allow vdc dumpstate:fd use;
allow vdc dumpstate:unix_stream_socket { read write getattr };

# vdc information is written to shell owned bugreport files
allow vdc shell_data_file:file { write getattr };

# Why?
allow vdc dumpstate:unix_dgram_socket { read write };

0 comments on commit c0d1476

Please sign in to comment.