From 3e78000e38912ed0433513a4462fae3ba6a9eca4 Mon Sep 17 00:00:00 2001
From: Nick Kralevich <nnk@google.com>
Date: Tue, 10 Dec 2013 16:40:49 -0800
Subject: [PATCH] Allow system_app to set properties

Settings > Developer Options > Profile GPU Rendering was broken,
as it couldn't set a debug.* system property.

In addition, system_app wasn't allowed to access init's property_service socket.

Both fixed.

In addition, allow system_app to write to radio_prop.

Fixes the following denials:

<5>[  170.769658] type=1400 audit(1386722177.029:57): avc:  denied  { write } for  pid=4142 comm="ndroid.settings" name="property_service" dev="tmpfs" ino=7457 scontext=u:r:system_app:s0 tcontext=u:object_r:property_socket:s0 tclass=sock_file
<4>[  170.770064] avc:  denied  { set } for property=debug.hwui.overdraw scontext=u:r:system_app:s0 tcontext=u:object_r:debug_prop:s0 tclass=property_service
<3>[  170.770148] init: sys_prop: permission denied uid:1000  name:debug.hwui.overdraw

Bug: 12037026
Change-Id: I5e879ab339e68e9e4715266fc8a698ab6ad5756e
---
 system_app.te | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/system_app.te b/system_app.te
index 3084e9363..63aa76ce2 100644
--- a/system_app.te
+++ b/system_app.te
@@ -35,4 +35,7 @@ allow system_app asec_apk_file:dir search;
 allow system_app asec_apk_file:file r_file_perms;
 
 # Write to properties
+unix_socket_connect(system_app, property, init)
+allow system_app debug_prop:property_service set;
+allow system_app radio_prop:property_service set;
 allow system_app system_prop:property_service set;
-- 
GitLab