Commit graph

325 commits

Author SHA1 Message Date
TreeHugger Robot
0959aa6752 Merge "drop vold from sys_rawio neverallow exception" into nyc-dev 2016-04-16 00:28:26 +00:00
Jeff Vander Stoep
3233353603 Further restrict socket ioctls available to apps
(cherry picked from commit 6ba383c575)

Restrict unix_dgram_socket and unix_stream_socket to a whitelist.
Disallow all ioctls for netlink_selinux_socket and netlink_route_socket.

Neverallow third party app use of all ioctls other than
unix_dgram_socket, unix_stream_socket, netlink_selinux_socket,
netlink_route_socket, tcp_socket, udp_socket and rawip_socket.

Bug: 28171804
Change-Id: Icfe3486a62fc2fc2d2abd8d4030a5fbdd0ab30ab
2016-04-15 21:55:43 +00:00
Nick Kralevich
a499041fe8 drop vold from sys_rawio neverallow exception
(cherry picked from commit 1df23cbf8e)

This does not appear needed anymore.

Bug: 27549740
Change-Id: I3128ab610c742b18008f4cfc2a7116b210f770e7
2016-04-15 09:43:44 -07:00
Alex Deymo
ac52f460c0 Allow postinstall_file to be an entrypoint.
postinstall_file was an exec_type so it could be an entrypoint for the
domain_auto_trans from update_engine domain to postinstall domain. This
patch removes the exec_type from postinstall_file and exempts it from
the neverallow rule to become an entrypoint.

Bug: 28008031
TEST=postinstall_example still runs as the "postinstall" domain on edison-eng.

(cherry picked from commit a9671c6b9e)

Change-Id: I2e1f61ed42f8549e959edbe047c56513903e8e9c
2016-04-08 23:07:08 -07:00
Jeff Vander Stoep
6634400922 Enforce restrictions on kernel module origin
(cherry picked from AOSP 163c8a006b87cae0217fd9dafdaec5271f1d795b)

Do not allow module loading except from the system, vendor,
and boot partitions.

Bug: 27824855
Change-Id: Ifc012e47c5677190c7cc564f9d48af8c7d0982e1
2016-04-07 13:07:57 -07:00
Nick Kralevich
8a8770cdac refine /data/misc/logd rules
(cherry pick from commit 6937aa93ac)

Followup to 121f5bfd80.

Move misc_logd_file neverallow rule from domain.te to logd.te,
since the goal of the neverallow rule is to protect logd / logpersist
files from other processes.

Switch the misc_logd_file neverallow rule from using "rw_file_perms"
to "no_rw_file_perms". The latter covers more cases of file
modifications.

Add more neverallow rules covering misc_logd_file directories.

Instead of using not_userdebug_nor_eng(), modify the rules to be
consistent with other highly constrained file types such as
keystore_data_file or vold_data_file. See, for example,
https://android-review.googlesource.com/144768

To see the net effect of this change, you can use the following
command line:

  sesearch --allow -t misc_logd_file -c file,dir,lnk_file \
  out/target/product/bullhead/root/sepolicy

Before this change:

  # userdebug builds
  allow init misc_logd_file:dir { search setattr read create getattr write relabelfrom ioctl rmdir remove_name relabelto open add_name };
  allow init misc_logd_file:file { setattr read create write relabelfrom getattr relabelto unlink open };
  allow init misc_logd_file:lnk_file { setattr relabelfrom create getattr relabelto unlink };
  allow logd misc_logd_file:dir { search read lock getattr write ioctl remove_name open add_name };
  allow logd misc_logd_file:file { rename setattr read lock create getattr write ioctl unlink open append };
  allow shell misc_logd_file:dir { search read lock getattr ioctl open };
  allow shell misc_logd_file:file { read lock ioctl open getattr };

  # user builds
  allow init misc_logd_file:dir { search setattr read create getattr write relabelfrom ioctl rmdir remove_name relabelto open add_name };
  allow init misc_logd_file:file relabelto;
  allow init misc_logd_file:lnk_file { setattr relabelfrom create getattr relabelto unlink };

After this change:

  # userdebug builds
  allow init misc_logd_file:dir { search setattr read create getattr ioctl relabelto open };
  allow init misc_logd_file:file { relabelto getattr };
  allow init misc_logd_file:lnk_file relabelto;
  allow logd misc_logd_file:dir { search read lock getattr write ioctl remove_name open add_name };
  allow logd misc_logd_file:file { rename setattr read lock create getattr write ioctl unlink open append };
  allow shell misc_logd_file:dir { search read lock getattr ioctl open };
  allow shell misc_logd_file:file { read lock ioctl open getattr };

  # user builds
  allow init misc_logd_file:dir { search setattr read create getattr ioctl relabelto open };
  allow init misc_logd_file:file { relabelto getattr };
  allow init misc_logd_file:lnk_file relabelto;

Change-Id: I0b00215049ad83182f458b4b9e258289c5144479
Bug: 27965066
2016-04-01 12:45:19 -07:00
Nick Kralevich
ce35cec3a8 Merge "Make sure neverallow rules also cover other property types" into nyc-dev 2016-03-25 23:07:13 +00:00
Mark Salyzyn
ab33c46905 init: logpersist access on debug
(cherry pick from commit 121f5bfd80)

03-25 09:31:22.996     1     1 W init    : type=1400 audit(0.0:8): \
  avc: denied { getattr } for path="/data/misc/logd/logcat.052" \
  dev="dm-2" ino=124778 scontext=u:r:init:s0 \
  tcontext=u:object_r:misc_logd_file:s0 tclass=file permissive=0
. . .

Introduced a new macro not_userdebug_nor_eng()

Change-Id: I9c3a952c265cac096342493598fff7d41604ca45
2016-03-25 14:40:40 -07:00
Nick Kralevich
45737b9f58 Make sure neverallow rules also cover other property types
There are now individual property files to control access to
properties. Don't allow processes other than init to write
to these property files.

Change-Id: I184b9df4555ae5051f9a2ba946613c6c5d9d4403
2016-03-25 14:09:30 -07:00
dcashman
74ae21b31a Allow domains to getattr proc lnk_file.
Many permissions were removed from untrusted_app by the removal of
domain_deprecated, including procfs access. procfs file access was restored,
however, but not completely.  Add the ability to getattr to all domains,
so that other domains which lost domain_deprecated may benefit, as they
will likely need it.

Bug: 27249037
Change-Id: Id3f5e6121548b29d739d5e0fa6ccdbc9f0fc29be
2016-03-10 14:17:44 -08:00
Alex Deymo
a52b561859 New postinstall domain and rules to run post-install program.
When using the A/B updater, a device specific hook is sometimes needed
to run after the new partitions are updated but before rebooting into
the new image. This hook is referred to throughout the code as the
"postinstall" step.

This patch creates a new execution domain "postinstall" which
update_engine will use to run said hook. Since the hook needs to run
from the new image (namelly, slot "B"), update_engine needs to
temporarly mount this B partition into /postinstall and then run a
program from there.

Since the new program in B runs from the old execution context in A, we
can't rely on the labels set in the xattr in the new filesystem to
enforce the policies baked into the old running image. Instead, when
temporarily mounting the new filesystem in update_engine, we override
all the new file attributes with the new postinstall_file type by
passing "context=u:object_r:postinstall_file:s0" to the mount syscall.
This allows us to set new rules specific to the postinstall environment
that are consistent with the rules in the old system.

Bug: 27177071
TEST=Deployed a payload with a trivial postinstall script to edison-eng.

(cherry picked from commit 6cb2c893b1)

Change-Id: I49a529eecf1ef0524819470876ef7c8c2659c7ef
2016-03-04 15:49:15 -08:00
Lorenzo Colitti
9119f12ee3 Revert "Revert "netd: restrict netd binder access to system_server""
This reverts commit b5594c2781.

Bug: 27239233
Change-Id: I407a2f3a313f3de801080f9bae46f6bac1a803c2
2016-03-02 22:59:09 +09:00
Lorenzo Colitti
b5594c2781 Revert "netd: restrict netd binder access to system_server"
This reverts commit 544579597e.

Change-Id: Idfa0254e66f9517cc26af3c37441b47cbb984bca
2016-03-02 07:53:54 +00:00
Jeff Vander Stoep
544579597e netd: restrict netd binder access to system_server
neverallow access to other domains.

Bug: 27239233
Change-Id: I503d1be7308d0229db1cbe52cd511f7f40afa987
2016-02-24 09:25:05 -08:00
Calin Juravle
89625c9a64 Update permissions for the dedicated profile folders
Bug: 26719109
Bug: 26563023

Change-Id: Ie0ca764467c874c061752cbbc73e1bacead9b995
2016-02-19 13:40:33 +00:00
dcashman
fb0c52ad4e Allow domain to read proc dirs. am: abf31acb01
am: eb3480b70f

* commit 'eb3480b70fdf0d9ea539b0834dd7d39443fc55e4':
  Allow domain to read proc dirs.
2016-02-05 23:44:07 +00:00
Nick Kralevich
7898352245 Replace "neverallow domain" by "neverallow *" am: 35a1451430
am: 8f611b6eda

* commit '8f611b6edaedc317af63035df0ccca31a5a69c14':
  Replace "neverallow domain" by "neverallow *"
2016-02-05 23:44:02 +00:00
dcashman
abf31acb01 Allow domain to read proc dirs.
Ability to read all of proc was placed in domain_deprecated with the
intention of reducing information leaking from proc.  Many processes try
to read proc dirs, though.  Allow this with the belief that information
leakage is from the proc files themselves rather than dir structure.

Address the following denial:
avc: denied { read } for name="/" dev="proc" ino=1 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=dir permissive=0

Bug: 26833472
Change-Id: I975ae022c093e1cf80de21487dc11e49f938e5a3
2016-02-05 15:16:51 -08:00
Nick Kralevich
35a1451430 Replace "neverallow domain" by "neverallow *"
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
2016-02-05 14:54:04 -08:00
Jeffrey Vander Stoep
2902adf037 Merge "Selinux: introduce policy for OTA preopt" 2016-02-05 03:18:16 +00:00
Andreas Gampe
47ebae1a7a Selinux: introduce policy for OTA preopt
Add permissions to dex2oat, introduce otapreopt binary and otadexopt
service.

Bug: 25612095
Change-Id: I80fcba2785e80b2931d7d82bb07474f6cd0099f7
2016-02-04 16:58:43 -08:00
Mark Salyzyn
613f451ee7 persist.mmc.* only set in init am: d143560445
am: 47f95192b2

* commit '47f95192b2eb08ecb9d1801edd8a5f19e6ed3dd0':
  persist.mmc.* only set in init
2016-02-04 19:17:42 +00:00
Mark Salyzyn
d143560445 persist.mmc.* only set in init
Bug: 26976972
Change-Id: I0e44bfc6774807a3bd2ba05637a432675d855118
2016-02-04 11:03:10 -08:00
Christopher Tate
b8104a47dd Move staged backup content to a specific cache subdir
Also narrowly specify the domain for the local transport's bookkeeping.

Bug 26834865

Change-Id: I2eea8a10f29356ffecabd8e102f7afa90123c535
2016-01-29 14:05:35 -08:00
Jeff Vander Stoep
448952b617 domain: grant write perms to cgroups am: be0616baf0
am: 7676d3d985

* commit '7676d3d9854879830c8bc78c80ede981e937044c':
  domain: grant write perms to cgroups
2016-01-27 03:35:14 +00:00
Jeff Vander Stoep
be0616baf0 domain: grant write perms to cgroups
Was moved to domain_deprecated. Move back to domain.

Files in /acct/uid/*/tasks are well protected by unix permissions.
No information is leaked with write perms.

Change-Id: I8017e906950cba41ce350bc0892a36269ade8d53
2016-01-27 03:00:50 +00:00
SimHyunYong
f7f49b80a3 Using r_dir_file macro in domain.te am: 093ea6fb9a
am: fa46a7375b

* commit 'fa46a7375bf36ea5dcc08cfdb92cbc463a2d471c':
  Using r_dir_file macro in domain.te
2016-01-26 23:48:42 +00:00
SimHyunYong
093ea6fb9a Using r_dir_file macro in domain.te
r_dir_file(domain, self)

allow domain self:dir r_dir_perms;
allow domain self:lnk_file r_file_perms;
allow domain self:file r_file_perms;

te_macros
define(`r_dir_file', `
allow $1 $2:dir r_dir_perms;
allow $1 $2:{ file lnk_file } r_file_perms;
')

Change-Id: I7338f63a1eaa8ca52cd31b51ce841e3dbe46ad4f
2016-01-27 07:54:47 +09:00
Jeff Vander Stoep
042d37c3a4 domain: allow dir search in selinuxfs am: 45517a7547
am: cfa5d76fb8

* commit 'cfa5d76fb8c9ec4d68d1664c540ebe2f03e09d49':
  domain: allow dir search in selinuxfs
2016-01-25 18:31:12 +00:00
Jeff Vander Stoep
45517a7547 domain: allow dir search in selinuxfs
Domain is already allowed to stat selinuxfs, it also needs
dir search.

Addresses:
avc: denied { search } for name="/" dev="selinuxfs" ino=1 scontext=u:r:watchdogd:s0 tcontext=u:object_r:selinuxfs:s0 tclass=dir

Change-Id: I3e5bb96e905db480a2727038f80315d9544e9c07
2016-01-25 18:18:36 +00:00
dcashman
67211b022b resolve merge conflicts of 09f01c5f1d to master.
Change-Id: Ia6fa29637a3679836c61800d6a1cbe2917e8c43e
2016-01-22 10:21:19 -08:00
dcashman
8666bf25cf Allow access to /dev/ion and proc_net dir.
Address the following:
01-21 13:35:41.147  5896  5896 W ndroid.music:ui: type=1400 audit(0.0:22): avc: denied { read } for name="ion" dev="tmpfs" ino=1237 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:ion_device:s0 tclass=chr_file permissive=0
01-21 13:35:41.152  5896  5896 E qdmemalloc: open_device: Failed to open ion device - Permission denied
01-21 13:35:41.152  5896  5896 E qdgralloc: Could not mmap handle 0x7f827d7260, fd=55 (Permission denied)
01-21 13:35:41.152  5896  5896 E qdgralloc: gralloc_register_buffer: gralloc_map failed

and

01-22 08:58:47.667  7572  7572 W Thread-23: type=1400 audit(0.0:186): avc: denied { search } for name="xt_qtaguid" dev="proc" ino=4026535741 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=dir permissive=0
01-22 08:58:47.671  7498  7572 I qtaguid : Untagging socket 68 failed errno=-13
01-22 08:58:47.671  7498  7572 W NetworkManagementSocketTagger: untagSocket(68) failed with errno -13

Change-Id: Id4e253879fe0f6daadd04d148a257a10add68d38
2016-01-22 09:29:00 -08:00
Jeffrey Vander Stoep
0c34837e08 Merge "Allow domains to stat filesystems." am: e1224de04d
am: f6da64bfb3

* commit 'f6da64bfb320878a225ea3ecb288cb8ac8dbd623':
  Allow domains to stat filesystems.
2016-01-22 00:47:35 +00:00
dcashman
fcea726390 Allow domains to stat filesystems.
Address the following denials:
01-21 12:44:53.704  4595  4595 W ndroid.calendar: type=1400 audit(0.0:21): avc: denied { getattr } for name="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:labeledfs:s0 tclass=filesystem permissive=0
01-21 12:45:23.177  5544  5544 W roid.music:main: type=1400 audit(0.0:46): avc: denied { getattr } for name="/" dev="rootfs" ino=1 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=filesystem permissive=0
7618 W .android.chrome: type=1400 audit(0.0:413): avc: denied { getattr } for path="/" dev="rootfs" ino=1 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=0

01-21 12:44:53.709  4595  4595 D AndroidRuntime: Shutting down VM
01-21 12:44:53.727  4595  4595 E AndroidRuntime: FATAL EXCEPTION: main
01-21 12:44:53.727  4595  4595 E AndroidRuntime: Process: com.google.android.calendar, PID: 4595
01-21 12:44:53.727  4595  4595 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.google.android.syncadapters.calendar.timely.TimelyProvider: java.lang.IllegalArgumentException: Invalid path: /data
01-21 12:44:53.727  4595  4595 E AndroidRuntime: 	at android.app.ActivityThread.installProvider(ActivityThread.java:5550)
...

Change-Id: I0e9d65438d031e19c9abc5dca8969ed4356437a0
2016-01-21 15:18:39 -08:00
Daniel Cashman
f9b7ecbd75 Merge "Allow domain to read symlinks in /sys." am: 1bd0712e7c
am: e784bada8d

* commit 'e784bada8ddafe32652724fa8a8d7d6b014772fc':
  Allow domain to read symlinks in /sys.
2016-01-08 00:07:02 +00:00
dcashman
cee729240e Allow domain to read symlinks in /sys.
Address the following denial:
avc: denied { read } for name="battery" dev="sysfs" ino=17945 scontext=u:r:shell:s0 tcontext=u:object_r:sysfs:s0 tclass=lnk_file permissive=0

Bug: 26219114
Change-Id: I862b40a6514bffaa455dd7f06368acf9bcdc4782
2016-01-07 15:54:56 -08:00
Felipe Leme
e97bd887ca Creates a new permission for /cache/recovery am: 549ccf77e3
am: b16fc899d7

* commit 'b16fc899d718f91935932fb9b15de0a0b82835c8':
  Creates a new permission for /cache/recovery
2016-01-04 23:55:14 +00:00
Felipe Leme
549ccf77e3 Creates a new permission for /cache/recovery
This permission was created mostly for dumpstate (so it can include
recovery files on bugreports when an OTA fails), but it was applied to
uncrypt and recovery as well (since it had a wider access before).

Grant access to cache_recovery_file where we previously granted access
to cache_file. Add auditallow rules to determine if this is really
needed.

BUG: 25351711
Change-Id: I07745181dbb4f0bde75694ea31b3ab79a4682f18
2016-01-04 23:11:28 +00:00
Daichi Hirono
6dde20ed4d Add new rules for appfuse. am: a20802ddb8
am: 0912601e89

* commit '0912601e897905549292c15445acbf1225938f3d':
  Add new rules for appfuse.
2015-12-23 18:50:17 -08:00
Daichi Hirono
a20802ddb8 Add new rules for appfuse.
The new rules are used to allow to mount FUSE file system for priv-app.

Change-Id: I5ce2d261be501e2b3fef09b7666f1e5d1cddbe52
2015-12-24 11:32:41 +09:00
Nick Kralevich
eb0fe9b119 undeprecate /proc/cpuinfo, more shell permissions am: f8f937a16f
am: 4e036181fa

* commit '4e036181fa6fed77d5a3da30987801bc791b51a9':
  undeprecate /proc/cpuinfo, more shell permissions
2015-12-22 17:19:11 -08:00
Nick Kralevich
f8f937a16f undeprecate /proc/cpuinfo, more shell permissions
Access to /proc/cpuinfo was moved to domain_deprecated in commit
6e3506e1ba. Restore access to everyone.

Allow the shell user to stat() /dev, and vfsstat() /proc and other
labeled filesystems such as /system and /data.

Access to /proc/cpuinfo was explicitly granted to bootanim, but is no
longer required after moving it back to domain.te. Delete the redundant
entry.

Commit 4e2d22451f restored access to
/sys/devices/system/cpu for all domains, but forgot to remove the
redundant entry from bootanim.te. Cleanup the redundant entry.

Addresses the following denials:

  avc: denied { getattr } for pid=23648 comm="bionic-unit-tes" name="/" dev="proc" ino=1 scontext=u:r:shell:s0 tcontext=u:object_r:proc:s0 tclass=filesystem permissive=0
  avc: denied { read } for name="cpuinfo" dev="proc" ino=4026533615 scontext=u:r:shell:s0 tcontext=u:object_r:proc_cpuinfo:s0 tclass=file permissive=0
  avc: denied { getattr } for pid=23713 comm="bionic-unit-tes" path="/dev" dev="tmpfs" ino=11405 scontext=u:r:shell:s0 tcontext=u:object_r:device:s0 tclass=dir permissive=0
  avc: denied { getattr } for name="/" dev="mmcblk0p30" ino=2 scontext=u:r:shell:s0 tcontext=u:object_r:labeledfs:s0 tclass=filesystem permissive=0

Bug: 26295417
Change-Id: Ia85ac91cbd43235c0f8fe0aebafffb8046cc77ec
2015-12-22 16:48:47 -08:00
Nick Kralevich
06d10f6062 neverallow debugfs access am: 96b1c9ca6f
am: 0abe8cdbe0

* commit '0abe8cdbe0343edf547dfa4e71b6f09b4afa6f2a':
  neverallow debugfs access
2015-12-18 18:41:27 +00:00
Nick Kralevich
96b1c9ca6f neverallow debugfs access
Don't allow access to the generic debugfs label. Instead, force
relabeling to a more specific type. system_server and dumpstate
are excluded from this until I have time to fix them.

Tighten up the neverallow rules for untrusted_app. It should never
be reading any file on /sys/kernel/debug, regardless of the label.

Change-Id: Ic7feff9ba3aca450f1e0b6f253f0b56c7918d0fa
2015-12-17 16:46:08 -08:00
Nick Kralevich
91b2a9cc49 label /sys/kernel/debug/tracing and remove debugfs write am: fe12b61642
am: ba79ddefd5

* commit 'ba79ddefd50a3a2a5234caf72562ccae05a60837':
  label /sys/kernel/debug/tracing and remove debugfs write
2015-12-15 01:06:31 +00:00
Nick Kralevich
fe12b61642 label /sys/kernel/debug/tracing and remove debugfs write
Start labeling the directory /sys/kernel/debug/tracing. The files
in this directory need to be writable to the shell user.

Remove global debugfs:file write access. This was added in the days
before we could label individual debugfs files.

Change-Id: I79c1fcb63b4b9b903dcabd99b6b25e201fe540a3
2015-12-14 13:57:26 -08:00
Nick Kralevich
4b3d167521 Restore sysfs_devices_system_cpu to domain.te am: 4e2d22451f
am: 66e4cf843c

* commit '66e4cf843cf01a4806944c7ff607d85c244268dd':
  Restore sysfs_devices_system_cpu to domain.te
2015-12-11 09:00:53 -08:00
Nick Kralevich
4e2d22451f Restore sysfs_devices_system_cpu to domain.te
Lots of processes access CPU information. This seems to be triggered
by libraries loaded into every Android process. Allow the access.

Addresses the following denials:

adbd    : type=1400 audit(0.0:3): avc: denied { search } for name="cpu" dev="sysfs" ino=32 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=dir permissive=1
adbd    : type=1400 audit(0.0:4): avc: denied { read } for name="online" dev="sysfs" ino=34 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=file permissive=1
adbd    : type=1400 audit(0.0:5): avc: denied { open } for path="/sys/devices/system/cpu/online" dev="sysfs" ino=34 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=file permissive=1
adbd    : type=1400 audit(0.0:6): avc: denied { getattr } for path="/sys/devices/system/cpu/online" dev="sysfs" ino=34 scontext=u:r:adbd:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0 tclass=file permissive=1

Change-Id: Ie7bfae53bdf670028db724d2720447ead42bad35
2015-12-10 11:10:20 -08:00
Nick Kralevich
ea285aaafa Remove property read access for non-core properties am: 5a570a4b6b
am: 4c1bbc3017

* commit '4c1bbc30175d541858dfd69a02a1caaf755072e7':
  Remove property read access for non-core properties
2015-12-09 00:27:24 +00:00
Nick Kralevich
5a570a4b6b Remove property read access for non-core properties
Instead of allowing global read access to all properties,
only allow read access to the properties which are part of
core SELinux policy. Device-specific policies are no longer
readable by default and need to be granted in device-specific
policy.

Grant read-access to any property where the person has write
access. In most cases, anyone who wants to write a property
needs read access to that property.

Change-Id: I2bd24583067b79f31b3bb0940b4c07fc33d09918
2015-12-08 14:47:04 -08:00