Commit graph

26570 commits

Author SHA1 Message Date
Elliott Hughes
3f789b70ea Merge "Don't use bare noreturn in log.h."
am: fe05f1cde4

Change-Id: I5e1fa172496d2b5c038df9e1f66a7ac3734ed3bc
2017-01-04 00:42:00 +00:00
Elliott Hughes
fe05f1cde4 Merge "Don't use bare noreturn in log.h." 2017-01-04 00:37:18 +00:00
Adrian Salido
7cc669c493 Merge "init/service.cpp: fix access check for console"
am: 4a3b03e9e5

Change-Id: I69e33c783d8afb7cd7781a8782504f3307b61435
2017-01-03 23:30:36 +00:00
Treehugger Robot
4a3b03e9e5 Merge "init/service.cpp: fix access check for console" 2017-01-03 23:27:40 +00:00
Nick Kralevich
d4fc568820 Merge "Send property_service AVC messages to the kernel audit system"
am: d06f86ced6

Change-Id: I6a1b06620029935bedc28b69ec46eff0bade140b
2017-01-03 23:26:06 +00:00
Treehugger Robot
d06f86ced6 Merge "Send property_service AVC messages to the kernel audit system" 2017-01-03 23:24:48 +00:00
Nick Kralevich
5083c589fa Merge "LogAudit.cpp: replace newlines with spaces in audit messages"
am: 5badada997

Change-Id: Ic19c090caafa110a88eded401015d1eebfede58d
2017-01-03 22:30:01 +00:00
Treehugger Robot
5badada997 Merge "LogAudit.cpp: replace newlines with spaces in audit messages" 2017-01-03 22:21:37 +00:00
Nick Kralevich
8adb4d9d12 Send property_service AVC messages to the kernel audit system
The property service uses an SELinux userspace check to determine if a
process is allowed to set a property. If the security check fails, a
userspace SELinux denial is generated. Currently, these denials are only
sent to dmesg.

Instead of sending these denials to dmesg, send it to the kernel audit
system. This will cause these userspace denials to be treated similarly
to kernel generated denials (eg, logd will pick them up and process
them). This will ensure that denials generated by the property service
will show up in logcat / dmesg / event log.

After this patch, running "setprop asdf asdf" from the unprivileged adb
shell user will result in the following audit message:

  type=1107 audit(39582851.013:48): pid=1 uid=0 auid=4294967295
  ses=4294967295 subj=u:r:init:s0 msg='avc: denied { set } for
  property=asdf pid=5537 uid=2000 gid=2000 scontext=u:r:shell:s0
  tcontext=u:object_r:default_prop:s0 tclass=property_service'

Test: manual
Bug: 27878170
Change-Id: I0b8994888653501f2f315eaa63d9e2ba32d851ef
2017-01-03 13:50:13 -08:00
Elliott Hughes
9b3b119912 Don't use bare noreturn in log.h.
toybox has a #define noreturn that trips over this.

Also move `format` out of the way, just in case.

Bug: https://github.com/android-ndk/ndk/issues/271
Test: builds
Change-Id: Ib8811136b4b422ff74625509539a5464a3c9af18
2017-01-03 13:17:42 -08:00
Mark Salyzyn
0236379593 Merge "logd: Add support for ro.logd.auditd.[main|events]"
am: 891df1c410

Change-Id: I1321ebbe91c492efc1e2173f2c5ff29e015ab6de
2017-01-03 21:16:56 +00:00
Adrian Salido
24ef8601c2 init/service.cpp: fix access check for console
Commit 9596d2b95d changes how
availability of console is checked by only checking access bits for
the console device. However, in cases where there is no console it
defaults to /dev/console. This device is always enumerated by tty
driver (i.e. file and access bits may be correct), but it doesn't
always map to an underlying console driver. Because the lookup for the
underlying console driver happens during the open system call, checking
only the access bits is not sufficient and need to make sure open
system call is successful, we can safely close the FD afterwards to
avoid FD leaks.

Test: boot device and check console svc doesn't continuously restart
Bug: 33691649
Change-Id: Ia51a8a2f56c345b70db55e95f61a057a98b52895
2017-01-03 13:11:29 -08:00
Treehugger Robot
891df1c410 Merge "logd: Add support for ro.logd.auditd.[main|events]" 2017-01-03 21:03:55 +00:00
Nick Kralevich
2e58867771 LogAudit.cpp: replace newlines with spaces in audit messages
Some kernels have a bug which causes a newline to show up in audit
messages. The embedded newlines cause one message to look like two due
to prefix controls.

Replace any newlines with spaces. Duplicate spaces are further
consolidated in code immediately after this newly added code.

Test: create an audit message with a newline, and watch it be cleaned up.
Bug: 27878170
Change-Id: Id90c29ab9e10d3be96f51403b0293622d782422a
2017-01-03 12:39:28 -08:00
David Pursell
d4158aab30 Merge "fastboot: update getvar documentation."
am: fd979edb57

Change-Id: Ib972ea7b1ec4c61df056e7c394fe0a995f91d09e
2017-01-03 17:55:43 +00:00
David Pursell
fd979edb57 Merge "fastboot: update getvar documentation." 2017-01-03 17:45:05 +00:00
Mark Salyzyn
ce80da3018 logd: Add support for ro.logd.auditd.[main|events]
log selinux audit messages boolean (true or false, default true)
selection for logging destinations:

ro.logd.auditd - turn on logd.auditd to pick up violations.
ro.logd.auditd.dmesg - to the kernel log.
ro.logd.auditd.main - to the "main" log buffer.
ro.logd.auditd.events - to the "events" log buffer.

We used to also read logd.auditd.dmesg and persist.logd.auditd.dmesg
which do not get refreshed when /data mounts internally.  This is a
confusing state as these properties will be read after a logd crash
and restart, adjusting the behavior of the logger.  Same can be said
for logd.auditd as well.  Drop reading these other parameters.

Test: manual set r/o parameters, stop/start logd to confirm behavior
Bug: 33969000
Bug: 27878170
Change-Id: I1a6bb4a903074c9aa7b227cf583a0094d49cbefd
2017-01-03 09:44:42 -08:00
Elliott Hughes
d9bd95e1c1 Merge "libziparchive: use _FILE_OFFSET_BITS=64"
am: 10a7b9bb8b

Change-Id: I024b1e1134da7362eeb137581bf69d2b38a147ca
2016-12-30 20:26:09 +00:00
Elliott Hughes
10a7b9bb8b Merge "libziparchive: use _FILE_OFFSET_BITS=64" 2016-12-30 20:21:17 +00:00
Elliott Hughes
b7c94f3e50 Merge "Make libziparchive C++-only."
am: b175ee271b

Change-Id: Ifaa182ff77248653974e2e8a19e7f36147be47f1
2016-12-30 19:46:07 +00:00
Elliott Hughes
b175ee271b Merge "Make libziparchive C++-only." 2016-12-30 19:40:56 +00:00
Mark Salyzyn
64d7c7fcb4 Merge "logd: gtest: logd.timeout socket does not clean up properly"
am: 7d24dea9cb

Change-Id: I3ca333142b258e9309f55e1160161b2420d3601a
2016-12-29 22:43:20 +00:00
Treehugger Robot
7d24dea9cb Merge "logd: gtest: logd.timeout socket does not clean up properly" 2016-12-29 22:36:57 +00:00
Mark Salyzyn
1736c4866c logd: gtest: logd.timeout socket does not clean up properly
Until the socket ages out, it sticks around and gets reused in
subsequent tests affecting the outcome of those tests.  We opt
to run logd.timeout in a forked and isolated process to keep
these conditions from interfering.

Adjusted benchmark execute to only run the tests we are
interested in to improve the time it takes to run.

Commented some areas of code to make them easier to maintain.

Test: gTest logd-unit-tests success
Bug: 33962045
Change-Id: Ic1b98bc4a2d7e8927f1a87628e3bcc368c9cf8ce
2016-12-29 12:59:22 -08:00
Elliott Hughes
a970c8f1fc Make libziparchive C++-only.
If we're going to build libziparchive with _FILE_OFFSET_BITS=64, which
seems like a reasonable idea, we don't want off_t/off64_t mixups in the
ABI, and C++ name mangling helps protect against that where C wouldn't.

Bug: N/A
Test: builds
Change-Id: I5f068b41fb4cd9e1e055e5250054318b35bcbc08
2016-12-29 10:38:37 -08:00
Jorge Lucangeli Obes
2115424df1 Merge "init: Make 'write_file' return bool to match 'read_file'."
am: 3553ae73fb

Change-Id: Ieb1c31a36d7b89ab044016c333e4513b206c2479
2016-12-29 17:31:02 +00:00
Treehugger Robot
3553ae73fb Merge "init: Make 'write_file' return bool to match 'read_file'." 2016-12-29 17:24:18 +00:00
Jorge Lucangeli Obes
77f0e9fda8 init: Make 'write_file' return bool to match 'read_file'.
The mismatch of return values makes reasoning about the correctness of
CLs like https://android-review.googlesource.com/317923 quite hard.

Bug: 33941660
Test: Init builds, HiKey boots.
Change-Id: Ia4b8a9af420682997b154a594892740181980921
2016-12-28 14:16:54 -05:00
Mark Salyzyn
bf5f495d3e Merge changes I6145bae8,Ia9452b3e
am: f37948d659

Change-Id: I784a5c9ebada3f58ff73875ca5a971756dcbdf52
2016-12-27 20:54:30 +00:00
Mark Salyzyn
9dd61ae4d7 logcat: unit test produces log stutter
am: a46326a51c

Change-Id: I9cb8d659b92e580ddca45b9dac1c0f15092fde30
2016-12-27 20:54:28 +00:00
Mark Salyzyn
2720e854df liblog: test failures due to permission issues
am: af3503cff4

Change-Id: I2b9be834307b2bd342e397f4a7b69b53a4c7dc44
2016-12-27 20:54:22 +00:00
Treehugger Robot
f37948d659 Merge changes I6145bae8,Ia9452b3e
* changes:
  logcat: unit test produces log stutter
  liblog: test failures due to permission issues
2016-12-27 20:45:31 +00:00
Mark Salyzyn
a46326a51c logcat: unit test produces log stutter
logd now counts multiple identical messages, causing messages to be
held back.  Stop doing that in the tests.  When that filter appeared,
the logcat-unit-tests went from 23 seconds to a couple of minutes of
runtime breakign the automated testing.

Test: gTest logcat-unit-tests total time less than 1 minute.
Bug: 33845198
Bug: 33535908
Change-Id: I6145bae89b6d5e5024ef4f8fe66440c9ae53f7c6
2016-12-27 19:13:00 +00:00
Mark Salyzyn
af3503cff4 liblog: test failures due to permission issues
Test: gTest liblog-unit-tests passes
Change-Id: Ia9452b3ee9e6068723e8bef48c4d88d3769951a8
2016-12-27 10:01:42 -08:00
Colin Cross
2c9681faf2 Merge "Remove obsolete mentions of LLVM_HOST_BUILD_MK"
am: 491c3871a0

Change-Id: I606d4f0a1ac2362d270acd79a55883492ccdc21c
2016-12-23 05:46:36 +00:00
Colin Cross
491c3871a0 Merge "Remove obsolete mentions of LLVM_HOST_BUILD_MK" 2016-12-23 05:41:20 +00:00
Myles Watson
d5608eaad8 Merge changes Idafeb835,Ie1a9bf85
am: 69eb60be5d

Change-Id: I7bebd3709bae547e8b6be933e3f97803a25190f4
2016-12-22 19:12:58 +00:00
Myles Watson
6632536c0d libcutils: Use strnlen for default property values
am: e67abec514

Change-Id: I6ca6f239d62da491c8a9379a18fa89674c894fa1
2016-12-22 19:12:56 +00:00
Myles Watson
9fdf778dd0 Use clang-format to fix up properties.c
am: 22c0962ab9

Change-Id: Ic8eee14c2e415b6d39eb418fc2cfb96afe02f51f
2016-12-22 19:12:49 +00:00
Treehugger Robot
69eb60be5d Merge changes Idafeb835,Ie1a9bf85
* changes:
  libcutils: Use strnlen for default property values
  Use clang-format to fix up properties.c
2016-12-22 18:52:19 +00:00
Myles Watson
e67abec514 libcutils: Use strnlen for default property values
Add unit tests to test the corner cases.

Test: unit tests pass before and after the change.
Change-Id: Idafeb8354cd6c7db2a68cd398dafe153453a3940
2016-12-22 09:21:06 -08:00
Myles Watson
22c0962ab9 Use clang-format to fix up properties.c
BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 100

Test: unit tests pass
Change-Id: Ie1a9bf85c001ef1a2dcdafdc5bf696b9267116f7
2016-12-22 09:20:57 -08:00
Paul Crowley
da7fe657d3 Merge "Ask the user before wiping if crypto policy fails."
am: 1d5965e40f

Change-Id: I93c46878aada1835a1159b54950ce9f8b3fdb777
2016-12-22 15:57:56 +00:00
Treehugger Robot
1d5965e40f Merge "Ask the user before wiping if crypto policy fails." 2016-12-22 15:52:44 +00:00
David Pursell
c56d63e59d fastboot: update getvar documentation.
The protocol doc states that calling `fastboot getvar` for an unknown
variable should return an empty OKAY message, but in reality modern
devices return a FAIL response in this case (tested with marlin and
shamu).

Additionally, some A/B logic in fastboot expects a FAIL response for
unknown variables in order to function properly.

This CL changes the documentation to match reality.

Bug: http://b/33756193
Test: none
Change-Id: I41f7c80585be73e60ca0ac216787596c4d60a1d5
2016-12-21 15:59:50 -08:00
Mark Salyzyn
342276b428 Merge "liblog: add IF_ALOG_RATELIMIT"
am: 3d6d5b101a

Change-Id: I762185e364279f2478b601b74379a8daaa4297e0
2016-12-21 22:00:20 +00:00
Treehugger Robot
3d6d5b101a Merge "liblog: add IF_ALOG_RATELIMIT" 2016-12-21 21:55:32 +00:00
Mark Salyzyn
41a117dbcb Merge "logd: LogBufferElementKey use uint32_t for uid"
am: 3fa88d8689

Change-Id: I658b42b503404b1c907c1901dc265accc9b01e61
2016-12-21 21:49:29 +00:00
Treehugger Robot
3fa88d8689 Merge "logd: LogBufferElementKey use uint32_t for uid" 2016-12-21 21:40:11 +00:00
Paul Crowley
0b8b2303ac Ask the user before wiping if crypto policy fails.
If crypto policy fails, instruct recovery to prompt the user before
wiping all data.

Test: adb shell rmdir /data/ota && adb shell mkdir -p /data/ota/forcefail && adb reboot
Bug: 28693324
Change-Id: I4d09b35a20c513a76c9ba56fe826114449a9ad68
2016-12-21 13:39:23 -08:00