Commit graph

14770 commits

Author SHA1 Message Date
Nathan Harold
ea4eaaf128 Allow getsockopt and setsockopt for Encap Sockets
Because applications should be able to set the receive
timeout on UDP encapsulation sockets, we need to allow
setsockopt(). getsockopt() is an obvious allowance as
well.

Bug: 68689438
Test: compilation
Change-Id: I2eaf72bcce5695f1aee7a95ec03111eca577651c
2018-04-03 10:28:10 -07:00
TreeHugger Robot
49e7b04ad3 Merge "Selinux: Fix perfprofd policy" into pi-dev 2018-04-03 00:44:35 +00:00
TreeHugger Robot
4d80e2c806 Merge "Allow vendor_init_settable for persist.sys.sf.native_mode" into pi-dev 2018-04-03 00:31:19 +00:00
TreeHugger Robot
ac75fd49f0 Merge "Test frozen sepolicy has not diverged from prebuilts." into pi-dev 2018-04-03 00:14:29 +00:00
Jaekyun Seok
d2a6c235fe Allow vendor_init_settable for persist.sys.sf.native_mode
A default value of persist.sys.sf.native_mode could be set by SoC
partners in some devices including some pixels.
So it should have vendor_init_settable accessibility.

Bug: 74266614
Test: succeeded building and tested with a pixel device with
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE=true.

Change-Id: I5d7a029f82505983d21dc722541fb55761a8714d
Merged-In: I5d7a029f82505983d21dc722541fb55761a8714d
(cherry picked from commit 0dc3587393)
2018-04-03 07:18:29 +09:00
Andreas Gampe
bda72633b4 Selinux: Fix perfprofd policy
Update for debugfs labeling changes.

Update for simpleperf behavior with stack traces (temp file).

(cherry picked from commit c8fe29ff1e)

Bug: 73175642
Test: m
Test: manual - run profiling, look for logs
Merged-In: Ie000a00ef56cc603f498d48d89001f566c03b661
Change-Id: Ie000a00ef56cc603f498d48d89001f566c03b661
2018-04-02 15:08:14 -07:00
TreeHugger Robot
199637ebce Merge "Update sepolicy to have system_server access stats_data" into pi-dev 2018-04-02 19:27:16 +00:00
yro
7cacc85daf Update sepolicy to have system_server access stats_data
Bug: 75968642
Test: manual testing to check for sepolicy violation
Cherry-picked from aosp/652222

Change-Id: Idc83669feaf9fd17bed26f89dfce33e3f2f5424f
2018-03-30 18:40:30 -07:00
TreeHugger Robot
ce02b00794 Merge "Wifi HAL SIOCSIFHWADDR sepolicy" into pi-dev 2018-03-30 23:51:43 +00:00
TreeHugger Robot
6577b988ac Merge "Allow netutils_wrapper to use pinned bpf program" into pi-dev 2018-03-30 23:10:47 +00:00
Chenbo Feng
be9b15c512 Allow netutils_wrapper to use pinned bpf program
The netutils_wrapper is a process used by vendor code to update the
iptable rules on devices. When it update the rules for a specific chain.
The iptable module will reload the whole chain with the new rule. So
even the netutils_wrapper do not need to add any rules related to xt_bpf
module, it will still reloading the existing iptables rules about xt_bpf
module and need pass through the selinux check again when the rules are
reloading. So we have to grant it the permission to reuse the pinned
program in fs_bpf when it modifies the corresponding iptables chain so
the vendor module will not crash anymore.

Test: device boot and no more denials from netutils_wrapper
Bug: 72111305
Change-Id: I62bdfd922c8194c61b13e2855839aee3f1e349be
(cherry picked from aosp commit 2623ebcf8e)
2018-03-30 13:54:31 -07:00
TreeHugger Robot
eaee65f043 Merge "Put in sepolicies for Codec2.0 services" into pi-dev 2018-03-30 17:51:38 +00:00
Tri Vo
321e1b059c Test frozen sepolicy has not diverged from prebuilts.
This will test that system/sepolicy/{public/, private/} are identical to
prebuilts if PLATFORM_SEPOLICY_VERSION is not 10000.0.

Bug: 74622750
Test: build policy
Test: correctly catches divergence from prebuilts for frozen policies

Change-Id: I2fa14b672544a021c2d42ad5968dfbac21b72f6a
(cherry picked from commit 81198bb8bb)
2018-03-30 10:13:37 -07:00
TreeHugger Robot
941cc9c8d2 Merge "Allow incidentd to read LAST_KMSG only for userdebug builds" into pi-dev 2018-03-30 14:54:55 +00:00
Primiano Tucci
c2e249dd41 Merge "SELinux changes for I/O tracing." into pi-dev 2018-03-30 00:31:59 +00:00
TreeHugger Robot
aebeae8156 Merge "Label /proc/sys/kernel/sched_schedstats." into pi-dev 2018-03-29 21:54:07 +00:00
Florian Mayer
8d81905567 SELinux changes for I/O tracing.
See also go/perfetto-io-tracing-security.

* Grant CAP_DAC_READ_SEARCH to traced_probes.
* Allow traced_probes to list selected labels.
* Change ext4 and f2fs events to be available on user builds.

Bug: 74584014
Cherry-picked from aosp/631805
Change-Id: I891a0209be981d760a828a69e4831e238248ebad
Merged-In: I891a0209be981d760a828a69e4831e238248ebad
2018-03-29 21:15:29 +01:00
Joel Galenson
dce07413bc Label /proc/sys/kernel/sched_schedstats.
This allows init to write to it, which it does for atrace.

Bug: 72643420
Test: Boot two devices, observe no denials, test atrace.
Change-Id: I6810e5dcdfaff176bd944317e66d4fe612ccebed
2018-03-29 12:15:48 -07:00
Jeff Vander Stoep
3079d01ad8 Improve neverallows on /proc and /sys
Access to these files was removed in Oreo. Enforce that access is not
granted by partners via neverallow rule.

Also disallow most untrusted app access to net.dns.* properties.

Bug: 77225170
Test: system/sepolicy/tools/build_policies.sh
Change-Id: I85b634af509203393dd2d9311ab5d30c65f157c1
(cherry picked from commit 886aa54bab)
2018-03-29 11:11:23 -07:00
TreeHugger Robot
fb735122be Merge "Suppress harmless denials for file creation in cgroupfs." into pi-dev 2018-03-29 17:18:05 +00:00
TreeHugger Robot
2a053462a8 Merge "Statsd: Allow statsd to contact perfprofd in userdebug" into pi-dev 2018-03-29 16:51:29 +00:00
Alan Stokes
92c149d077 Suppress harmless denials for file creation in cgroupfs.
The kernel generates file creation audits when O_CREAT is passed even
if the file already exists - which it always does in the cgroup cases.

We add neverallow rules to prevent mistakenly allowing unnecessary
create access. We also suppress these denials, which just add noise to
the log, for the more common culprits.

Bug: 72643420
Bug: 74182216

Test: Ran build_policies.sh and checked failures were unrelated.
Test: Device still boots, denials gone.
Change-Id: I034b41ca70da1e73b81fe90090e656f4a3b542dc
2018-03-29 13:51:56 +01:00
Pawin Vongmasa
4be2889477 Put in sepolicies for Codec2.0 services
Test: Builds

Bug: 64121714
Bug: 31973802
Change-Id: Id37be8726a8bb297e35bca494964fdbcc48c6a73
2018-03-29 04:42:25 -07:00
TreeHugger Robot
c417b39f57 Merge "Keystore needs to be able to call apps" into pi-dev 2018-03-29 00:19:13 +00:00
Yi Jin
4f69d91244 Allow incidentd to read LAST_KMSG only for userdebug builds
Bug: 73354384
Test: manual
Change-Id: I4fa630624cc247275e11965471461502f451edf4
2018-03-28 15:59:48 -07:00
TreeHugger Robot
eee056d512 Merge "Hide some denials." into pi-dev 2018-03-28 20:27:32 +00:00
Joel Galenson
a66d1a4543 Hide some denials.
These denials occur fairly often, causing some logspam.

Bug: 77225170
Test: Boot device.
Change-Id: Icd73a992aee44007d0873743f706758f9a19a112
2018-03-28 19:38:36 +00:00
Alan Stokes
7d4294cb4f Stop O_CREAT logspam in permissive mode.
In permissive mode we get more spurious denials when O_CREAT is used
with an already-existing file. They're harmless so we don't need to
audit them.

Example denials:
denied { add_name } for name="trigger" scontext=u:r:init:s0 tcontext=u:object_r:sysfs_leds:s0 tclass=dir permissive=1
denied { create } for name="trigger" scontext=u:r:init:s0 tcontext=u:object_r:sysfs_leds:s0 tclass=file permissive=1

Bug: 72643420
Bug: 74182216

Test: Device boots, denials gone.
Change-Id: I54b1a0c138ff5167f1d1d12c4b0b9e9afaa5bca0
2018-03-28 15:07:59 +01:00
TreeHugger Robot
b93b448d56 Merge "Allow vendor-init-settable to persist.radio.multisim.config" into pi-dev 2018-03-28 06:06:23 +00:00
Jaekyun Seok
7d3bd8dbc3 Allow vendor-init-settable to persist.radio.multisim.config
A default value of persist.radio.multisim.config can be set by SoC
vendors, and so vendor-init-settable should be allowed to it.

Bug: 73871799
Test: succeeded building and tested with taimen
Change-Id: Ie62b91e7e3d7e05425b742838417f1cab7b3fed4
Merged-In: Ie62b91e7e3d7e05425b742838417f1cab7b3fed4
(cherry picked from commit ac8c6e3d44)
2018-03-28 12:55:30 +09:00
Andreas Gampe
2767f9d359 Statsd: Allow statsd to contact perfprofd in userdebug
Give statsd rights to connect to perfprofd in userdebug.

(cherry picked from commit 488030ee6f)

Bug: 73175642
Test: mmma system/extras/perfprofd
Merged-In: Idea0a6b757d1b16ec2e6c8719e24900f1e5518fd
Change-Id: Idea0a6b757d1b16ec2e6c8719e24900f1e5518fd
2018-03-28 01:29:16 +00:00
Janis Danisevskis
a290f5760e Keystore needs to be able to call apps
The ConfirmationUI API has a callback interface by which confirmation
results are presented to the calling app. This requires keystore to call
into apps.

Test: Device boots and no more denials when call back is delivered to
      apps.
Bug: 63928580
Change-Id: Ie23211aeb74c39956c3c3b8b32843d35afa1315a
2018-03-27 14:23:20 -07:00
Joel Galenson
408584d5fe Use user policy for compatibility tests.
Use the user policy when running the compatibility tests.

Bug: 74344625
Test: Built policy for many devices.  Booted one device.
Test: Delete some compat rules, verify error on userdebug.
Change-Id: Ib2df2dfc06cdf55a839011e9a528e76160a9e436
(cherry picked from commit c148621815)
2018-03-27 10:19:30 -07:00
Tom Cherry
dc3e1dad04 Verify the SELabels used in property_contexts
Verify that the SELabels used in property_contexts correspond to a
real type in the SEPolicy and that this type has the property_type attribute.

Additionally add a check that vendor property_context files do not
duplicate entries in plat property_contexts, and a similar check that
odm property_contexts doesn't duplicate either plat or vendor
property_contexts.

Bug: 74078792
Test: Build property_contexts on bullhead successfully
Test: See failure when using a faulty SELabel in property_contexts
Test: See failure when duplicating label in vendor and plat property_contexts
Change-Id: I4d2338dab68f1c5a8ed110aa7821f0677f61bafb
(cherry picked from commit a15df75ddf)
2018-03-26 16:32:55 -07:00
TreeHugger Robot
a7c52c5f2b Merge "crashdump: cleanup logs" into pi-dev 2018-03-26 22:43:55 +00:00
Jeff Vander Stoep
cc0304cfc2 crashdump: cleanup logs
Suppress WAI denials from crashdump.

Test: build/flash Taimen. Verify no new denials.
Bug: 68319037
Change-Id: If39d057cb020def7afe89fd95e049e45cce2ae16
2018-03-26 13:07:36 -07:00
TreeHugger Robot
28faedb4c4 Merge "Allow system server to access bpf fs" into pi-dev 2018-03-26 19:26:35 +00:00
Primiano Tucci
e9b8bff6c6 perfetto: allow traced to write into FDs received by the client
This allows an optimization that consists in the "perfetto" cmdline
client passing directly the file descriptor for the output trace
to traced (as opposite to having traced streaming back the trace
data to "perfetto" and having that one doing the write() into file).
This reduces sensibly the memory traffic and CPU overhead of traces
with a minor change.

Bug: 73625179
Test: builds + perfetto_integrationtests w/ long_trace.cfg
Change-Id: I81f5a230338ced20dc543fd91c5a0bd0e58725f2
Merged-In: I81f5a230338ced20dc543fd91c5a0bd0e58725f2
(cherry picked from aosp/648831)
2018-03-26 01:01:36 +00:00
Chenbo Feng
88ef20aa71 Allow system server to access bpf fs
The permission to allow system_server to access sys/fs/bpf/ directory
is missing. Add it back so it can get the bpf maps from the bpf_fs.

Test: device boot and no more denial information of system_server try to
searcg in fs_bpf
      atest android.net.cts.TrafficStatsTest
Bug: 75285088

Change-Id: I1040cde6c038eccc4e91c69a10b20aa7a18b19f6
(cherry picked from aosp commit f83bbd17b2)
2018-03-23 18:45:28 -07:00
Tri Vo
e55424941e modprobe: shouldn't load kernel modules from /system
Kernel modules are not permitted to be on /system partition.
That was one of Treble requirements in O:
https://source.android.com/devices/architecture/kernel/modular-kernels#file-locations

Bug: 74069409
Test: pixel/nexus devices don't have LKMs in /system, so this change
shoudl be harmless.
Test: walleye boots without issues from modprobe.
Merged-In: I8b3aeb55aacb3c99e0486224161d09a64bb52cd1
Change-Id: I8b3aeb55aacb3c99e0486224161d09a64bb52cd1

(cherry picked from commit 6ef9f5232e)
2018-03-23 14:16:25 -07:00
TreeHugger Robot
e2b8881fc0 Merge "Allow vendor-init-settable and public-readable to ro.config.low_ram" into pi-dev 2018-03-23 06:32:42 +00:00
Jaekyun Seok
2c6cacf45f Allow vendor-init-settable and public-readable to ro.config.low_ram
ro.config.low_ram should be set on Android Go devices by SoC vendors,
and the value can be read by vendor components.

Bug: 76132948
Bug: 75987246
Test: succeeded building and tested with taimen
Change-Id: I6ac98fa58cf641da4565d6277898fc5e5e6ceca1
Merged-In: I6ac98fa58cf641da4565d6277898fc5e5e6ceca1
(cherry picked from commit 7dd2e025d8)
2018-03-23 13:15:13 +09:00
Andreas Gampe
0193620bec Sepolicy: Give system server fd rights to perfprofd
So that perfprofd can send larger packets to dropbox.

Follow-up of commit 3fa95acb1e.

(cherry picked from commit c9df843773)

Bug: 73175642
Test: m
Test: manual
Merged-In: I88d1f83962243589909ff1ce3d02195e7c494256
Change-Id: I88d1f83962243589909ff1ce3d02195e7c494256
2018-03-22 21:10:39 -07:00
TreeHugger Robot
cb9ac32bed Merge "Allow system_server to update timerslack_ns for hal_audio_default" into pi-dev 2018-03-23 00:02:32 +00:00
Primiano Tucci
ad60c564e5 Merge "Reland: perfetto: allow traced_probes to execute atrace" into pi-dev 2018-03-22 22:53:06 +00:00
Mikhail Naganov
b506a352e8 Allow system_server to update timerslack_ns for hal_audio_default
Based on the following audit message:

type=1400 audit(1521738979.005:385): avc: denied { write } for pid=1269
comm="Binder:1269_B" name="timerslack_ns" dev="proc" ino=254190
scontext=u:r:system_server:s0 tcontext=u:r:hal_audio_default:s0
tclass=file permissive=1

Bug: 74110604
Test: adb shell dmesg | grep hal_audio_default
Change-Id: I4c2e787588eb9d223d5e50e1bc8f67876de97c2e
2018-03-22 14:11:37 -07:00
Jong Wook Kim
d6d16489f2 Wifi HAL SIOCSIFHWADDR sepolicy
Add sepolicy rule to grant Wifi HAL permission to use SIOCSIFHWADDR
ioctl. This permission is needed to dynamically change MAC address of
the device.

We are moving the implementation of setting the MAC address from
WifiCond to Vendor HAL to give vendors flexibility in supporting
Connected MAC Randomization. Will clean up WifiCond sepolicy afterwards.

Bug: 74347653
Test: Verified manually
Change-Id: I334cefddf385ecb1ee169eb692c4e0060c26d6d9
2018-03-22 13:18:31 -07:00
Primiano Tucci
f3fd4d6bf8 Reland: perfetto: allow traced_probes to execute atrace
This CL adds the SELinux permissions required to execute
atrace and get userspace tracing events from system services.
This is to enable tracing of events coming from surfaceflinger,
audio HAL, etc.
atrace, when executed, sets a bunch of debug.atrace. properties
and sends an IPC via binder/hwbinder to tell the services to
reload that property.

This CL does NOT affect systrace. In that case (i.e. when
atrace is executed from adb/shell) atrace still runs in
the shell domain and none of those changes apply.

Change-Id: I11b096d5c5c5593f18bce87f06c1a7b1ffa7910e
Merged-In: I11b096d5c5c5593f18bce87f06c1a7b1ffa7910e
Merged-In: Iba195d571aec9579195d79d4970f760e417608c6
Bug: b/73340039
2018-03-22 11:00:49 +00:00
TreeHugger Robot
16d28d0fb0 Merge "Allow netd to setup xt_bpf iptable rules" into pi-dev 2018-03-22 06:25:21 +00:00
TreeHugger Robot
bfee690152 Merge "Revert "Allow dexopt to follow /odm/lib(64) symlinks."" into pi-dev 2018-03-22 01:55:34 +00:00