Commit graph

8038 commits

Author SHA1 Message Date
Treehugger Robot
becc13e86e Merge "Define policy for /proc/uid_io/stats" 2017-01-18 20:25:13 +00:00
Jin Qian
d345906b14 Define policy for /proc/uid_io/stats
New procfs file read by storaged to dump fg/bg IO usage.

Remove kmsg rule since it's no longer used by storaged.

Allow storaged to find permission_service to translate UID
to package name.

Test: adb shell storaged -u
Bug: 34198239
Change-Id: I74654662c75571cbe166cf2b8cbab84828218cbd
2017-01-18 11:00:57 -08:00
Colin Cross
596fa95fee Fix incremental builds
Some recent CLs changed the list of files that are installed in the
root directory.  Incremental builds have no way to uninstall files
that were previously installed, which results in old stray files lying
around.  If the root directory is contained in system.img, this causes
an error while building system.img:
error: build_directory_structure: cannot lookup security context for /service_contexts

Update CleanSpec.mk to remove files obsoleted by:
Ide67d37d85273c60b9e387e72fbeb87be6da306a
I7881af8922834dc69b37dae3b06d921e05206564
Ide67d37d85273c60b9e387e72fbeb87be6da306a

This is not seen on the incremental build servers because they run
make installclean between builds.

Test: incremental build passes
Change-Id: I22ecd1d3698404df352263fa99b56cb65247a23b
2017-01-18 10:33:55 -08:00
Jorim Jaggi
615b60bd54 Merge "Revert "property_context: split into platform and non-platform components."" 2017-01-18 16:33:31 +00:00
Jorim Jaggi
aa03ef2621 Revert "property_context: split into platform and non-platform components."
This reverts commit 262edc382a.

Fixes: 34370523
Change-Id: I077d064d4031d40bc48cb39eba310e6c16b9627d
2017-01-18 15:47:11 +00:00
Treehugger Robot
ccbf463a9a Merge "property_context: split into platform and non-platform components." 2017-01-18 06:09:02 +00:00
Daichi Hirono
7ae1d23745 Don't open appfuse files in apps.
Previously we published appfuse mount points to apps and apps open
appfuse file by themselves. We changed the design and we don't allow
apps to access appfuse mount point. Instead system server opens a file
on appfuse mount points and passes FD to apps.

The change updates apps and system server policies to adopt new design.

Bug: 29970149
Test: None
Change-Id: I0b35fee9816f61565705eecb88a472754ccffdca
2017-01-18 13:25:04 +09:00
Jeff Sharkey
828433c892 Define policy for /proc/uid_procstat/set.
New procfs file written by the system_server to communicate fg/bg
state of UIDs to switch the statistics counter sets used.

avc: denied { write } for name="set" dev="proc" ino=4026531862 scontext=u:r:system_server:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=1

Test: builds, boots, counter sets updated
Bug: 34360629
Change-Id: I2efbfbba9e73f50ce50a80a3dffd3b14fa55c048
2017-01-17 18:34:17 -07:00
Sandeep Patil
262edc382a property_context: split into platform and non-platform components.
Bug: 33746484
Test: Successfully boot with original service and property contexts.
      Successfully boot with split serivce and property contexts.

Change-Id: I7881af8922834dc69b37dae3b06d921e05206564
Signed-off-by: Sandeep Patil <sspatil@google.com>
2017-01-18 00:41:47 +00:00
Alex Klyubin
fa12010697 Merge "1-arg variant of hal_impl_domain" 2017-01-18 00:37:48 +00:00
Alex Klyubin
b68cee2576 1-arg variant of hal_impl_domain
This improves readability and consistency for HAL implementation
domains which have only one implementation.

Test: No change to policy according to sesearch
Test: No change to which types are associated with haldomain according to "sepolicy-analyze <sepolicy file> attribute haldomain"
Bug: 34180936
Change-Id: Ice599ea4971cdfbd8b835b1fd02ad1e14c7a0386
2017-01-17 16:34:02 -08:00
Sandeep Patil
a058b569e4 service_context: split into platform and non-platform components.
Bug: 33746484
Test: Successfully boot with original service and property contexts.
      Successfully boot with split serivce and property contexts.

Change-Id: Ide67d37d85273c60b9e387e72fbeb87be6da306a
Signed-off-by: Sandeep Patil <sspatil@google.com>
2017-01-18 00:33:09 +00:00
Alex Klyubin
f41d89eb24 Group all HAL impls using haldomain attribute
This marks all HAL domain implementations with the haldomain attribute
so that rules can be written which apply to all HAL implementations.

This follows the pattern used for appdomain, netdomain and
bluetoothdomain.

Test: No change to policy according to sesearch.
Bug: 34180936
Change-Id: I0cfe599b0d49feed36538503c226dfce41eb65f6
2017-01-17 11:20:49 -08:00
Mikhail Naganov
ddb52d823f hal_audio: In binderized mode hal_audio needs access to IAllocator
This is to ensure that hal_audio can access memory shared by
audioserver.

Bug: 34261005
Change-Id: I84103b0d4692fd10afc56846fb116fec6a7b3dc7
2017-01-17 09:24:56 -08:00
Treehugger Robot
597a8a4913 Merge "New SeLinux policy for fingerprint HIDL" 2017-01-14 03:50:05 +00:00
Treehugger Robot
14658c93e7 Merge "hal_health: move system_file permissions to public/hal_health" 2017-01-14 00:24:55 +00:00
Jim Miller
54e0e5af8f New SeLinux policy for fingerprint HIDL
Move from fingerprintd to new fingerprint_hal and update SeLinux policy.

Test: Boot with no errors related to fingerprint sepolicy
Bug: 33199080
Change-Id: Idfde0cb0530e75e705033042f64f3040f6df22d6
2017-01-13 13:28:31 -08:00
Hridya Valsaraju
953c439643 add selinux policy for GNSS hal
The following are the avc denials that are addressed:

avc: denied { call } for pid=889 comm="system_server"
scontext=u:r:system_server:s0 tcontext=u:r:hal_gnss_default:s0
tclass=binder permissive=0

avc: denied { call } for scontext=u:r:hal_gnss_default:s0
tcontext=u:r:system_server:s0 tclass=binder permissive=0

avc: denied { read } for name="hw" dev="mmcblk0p43" ino=1837
scontext=u:r:hal_gnss_default:s0 tcontext=u:object_r:system_file:s0
tclass=dir permissive=0

avc: denied { open } for path="/system/lib64/hw" dev="mmcblk0p43"
ino=1837 scontext=u:r:hal_gnss_default:s0
tcontext=u:object_r:system_file:s0 tclass=dir permissive=0

Bug:31974439

Test: Checked that there no more related avc denial messages related to
the GNSS HAL in dmesg.

Change-Id: I5b43dc088017a5568dd8e442726d2bf52e95b1d5
2017-01-13 20:54:07 +00:00
Max Bires
9e7a5b0a7c Auditing init and ueventd access to chr device files.
It seems likely that there is no reason to keep around a number of
devices that are configured to be included into the pixel kernels. Init
and ueventd should be the only processes with r/w access to these
devices, so auditallow rules have been added to ensure that they aren't
actually used.

/dev/keychord was given its own type since it's one of the few character
devices that's actually legitimately used and would cause log spam in
the auditallow otherwise.

Bug: 33347297
Test: The phone boots without any apparent log spam.

Change-Id: I3dd9557df8a9218b8c802e33ff549d15849216fb
2017-01-13 17:38:39 +00:00
Myles Watson
926dc3317d Allow debuggerd to access native tests
Test: run a gtest in /data/nativetest/ with no permission denial
Change-Id: Id644ed7dbea59becaf84b6073c9144711ad07c10
2017-01-12 14:18:50 -08:00
Josh Gao
d5db9de58d Merge "Remove support for legacy f_adb interface." 2017-01-12 21:24:34 +00:00
Treehugger Robot
1b7512a139 Merge "Move ephemeral_app policy to private" 2017-01-12 19:59:03 +00:00
Sandeep Patil
07c75b1784 hal_health: move system_file permissions to public/hal_health
Bug: 34231014
Test: Boot angler to ensure no additional denials are reported.

Change-Id: Ic2372d55f7072c65e7ea17036a8eb40dc531d60e
Signed-off-by: Sandeep Patil <sspatil@google.com>
2017-01-11 16:01:07 -08:00
Josh Gao
a3bc3cffdf Remove support for legacy f_adb interface.
Bug: http://b/34228376
Test: m
Change-Id: I1321ada1521bb3e3fd08105f1a41d519ee486683
2017-01-11 15:03:50 -08:00
Jeff Sharkey
6730ee3352 Define policy for new StorageStatsManager API.
Test: builds
Bug: 32206268
Change-Id: I236105b029178f96da519c2295c66c686dcae7cb
2017-01-10 18:10:19 -07:00
Treehugger Robot
fc0dc89ddf Merge "Add selinux policy for Bluetooth HAL" 2017-01-11 00:28:58 +00:00
Andre Eisenbach
be27f92a3e Add selinux policy for Bluetooth HAL
Bug: 31972505
Test: VTS test passes, Bluetooth starts/stops
Change-Id: Ic068c9fca7c50e63c5b6e3d86a2ee6cc53207e08
2017-01-10 15:05:14 -08:00
Mikhail Naganov
dd70dfbecf Allow audioserver to use IAllocator
Bug: 30222631
Change-Id: I30ad019872881e21f61a53e4397112ea0e99688b
2017-01-09 18:23:12 -08:00
Alex Klyubin
baeac1fd26 Move ephemeral_app policy to private
This leaves only the existence of ephemeral_app domain as public API.
All other rules are implementation details of this domain's policy and
are thus now private. There are a few rules, defined by other domains'
files remaining in the public policy until the rules from these
domains also move to the private policy:

allow ephemeral_app_current appdomain:binder transfer;
allow ephemeral_app_current audioserver_current:binder transfer;
allow ephemeral_app_current drmserver_current:binder transfer;
allow ephemeral_app_current dumpstate_current:binder transfer;
allow ephemeral_app_current mediaserver_current:binder transfer;
allow ephemeral_app_current surfaceflinger_current:binder transfer;
allow ephemeral_app_current system_server_current:binder transfer;

Test: No change to policy according to sesearch, except for
      disappearance of all allow rules from platform_app_current
      attribute (as expected).
Bug: 31364497

Change-Id: I98687181434a98a141469ef676c461fcd1db2d4e
2017-01-09 15:34:27 -08:00
Alex Klyubin
c42d134e07 Move platform_app policy to private
This leaves only the existence of platform_app domain as public API.
All other rules are implementation details of this domain's policy and
are thus now private.

Test: No change to policy according to sesearch, except for
      disappearance of all allow rules from platform_app_current
      attribute (as expected).
Bug: 31364497

Change-Id: I47bb59fdfc07878c91fd5e207735cd0c07a128da
2017-01-09 14:52:59 -08:00
Treehugger Robot
665b75e638 Merge "Split seapp_contexts into plat and nonplat components." 2017-01-09 20:30:22 +00:00
Treehugger Robot
b5f68f52c4 Merge "priv_app: rm redundant app_data_file r_file_perms" 2017-01-09 19:23:02 +00:00
Dan Cashman
9c03807223 Split seapp_contexts into plat and nonplat components.
Bug: 33746381
Test: Device boots with no extra denials.
Change-Id: I2f0da92367851142e0d7df4afec8861ceaed9d3e
2017-01-09 10:10:59 -08:00
Nick Kralevich
0c8101b215 install_recovery.te: remove domain_deprecated
No relevant collected denials.

Test: device boots and no obvious problems.
Test: no collected denials.
Bug: 28760354
Change-Id: Idcf939b3cbdb1dec835d59150181047d062e6c48
2017-01-09 16:47:36 +00:00
Daniel Micay
41e3ee4655 priv_app: rm redundant app_data_file r_file_perms
This is already provided in app.te via create_file_perms for
notdevfile_class_set.

Change-Id: I89ed3537fd1e167571fe259bd4804f8fcc937b95
2017-01-08 17:20:50 -05:00
Treehugger Robot
0c6a04c9d1 Merge "storaged.te: Remove redundant permission." 2017-01-07 04:25:11 +00:00
Treehugger Robot
1a48ae576e Merge "platform_app.te: remove obsolete rules." 2017-01-07 03:17:06 +00:00
Nick Kralevich
1a022cbbe7 storaged.te: Remove redundant permission.
All SELinux domains are already granted the ability to read the
filenames in /proc, so it's unnecessary to add it to storaged.te.

  $ grep "proc:dir r_dir_perms" public/domain.te
  allow domain proc:dir r_dir_perms;

Remove redundant rule.

Test: policy compiles.
Change-Id: I8779cda19176f7eb914778f131bb5b14e5b14448
2017-01-06 18:56:29 -08:00
Treehugger Robot
110588797d Merge changes from topic 'storaged'
* changes:
  Storaged permissions for task I/O
  Storaged permission setting
2017-01-07 02:42:26 +00:00
ynwang
e68d2d2c72 Storaged permissions for task I/O
Allow storaged to read /proc/[pid]/io
Grant binder access to storaged
Add storaged service
Grant storaged_exec access to dumpstate
Grant storaged binder_call to dumpstate

Bug: 32221677

Change-Id: Iecc9dba266c5566817a99ac6251eb943a0bac630
2017-01-07 01:12:51 +00:00
ynwang
9fa8823cdf Storaged permission setting
Allowing storaged for reading from pseudo filesystems and debugfs.

Bug: 32221677

Change-Id: I837cead9a68f0b399703b64d724cb9c4b205c335
2017-01-07 01:12:45 +00:00
Nick Kralevich
164af1039d priv_app.te: remove domain_deprecated
No denials collected.

Bug: 28760354
Test: no denials collected.
Test: device boots and no obvious problems
Change-Id: I7fc053ecae2db3bb2ca7c298634453e930713bec
2017-01-06 16:32:01 -08:00
Nick Kralevich
eb482c422a platform_app.te: remove obsolete rules.
No audits have been recorded for these rules. Remove them.

Originally added for backwards compatibility in
549ccf77e3 as part of the split
between cache_file and cache_recovery_file.

Bug: 25351711
Test: No audit records recorded
Change-Id: I5133028b5fcc99a731aabea90305171dee0edf47
2017-01-06 15:12:48 -08:00
Nick Kralevich
32c4a27cf5 Refine rules for accessing /dev/__properties__
Don't allow processes to list out the contents of the directory
/dev/__properties__. This is an implementation specific detail that
shouldn't be visible to processes.

Test: Device boots and no problems reading individual properties.
Test: ls -la /dev/__properties__ fails
Change-Id: I4df6a829b0d22e30fb2c38030c690fc4a356f6a3
2017-01-06 10:28:54 -08:00
Treehugger Robot
804547bcde Merge "Split file_contexts for on-device compilation." 2017-01-06 17:23:45 +00:00
Treehugger Robot
cc966d472c Merge "Move isolated_app policy to private" 2017-01-06 16:33:41 +00:00
Alex Klyubin
72950ba0fc Merge "Move system_app policy to private" 2017-01-06 05:03:40 +00:00
Treehugger Robot
15a9946d0f Merge "Move priv_app policy to private" 2017-01-06 02:08:59 +00:00
Alex Klyubin
b5853c3b95 Move system_app policy to private
This leaves only the existence of system_app domain as public API.
All other rules are implementation details of this domain's policy and
are thus now private.

Test: No change to policy according to sesearch, except for
      disappearance of all allow rules from system_app_current
      attribute (as expected).
Bug: 31364497

Change-Id: Ifc7d350ed9749a32b0c38a78ac5f41c819dbdb96
2017-01-05 17:20:28 -08:00
Treehugger Robot
90d49faac1 Merge "Move untrusted_app policy to private" 2017-01-06 00:13:22 +00:00