Commit Graph

1481 Commits

Author SHA1 Message Date
Thierry Strudel 7d84086639 Merge "Revert "Start hwservicemanager earlier."" am: 3ba313597d am: 263cf5c8d9
am: ea6de14c5e

Change-Id: Ia0b57d328df2fc47e7f5dee35930e43bb514c4f5
2017-03-24 14:42:14 +00:00
Thierry Strudel 3ba313597d Merge "Revert "Start hwservicemanager earlier."" 2017-03-24 14:33:18 +00:00
Steven Moreland 5011270225 Revert "Start hwservicemanager earlier."
This reverts commit 9e36331174.

Reason for revert: a DOA device

Bug: 36546734

Change-Id: I0456247d362fe43b8c37623d04432eb494f68f68
2017-03-24 06:05:41 +00:00
Jeff Vander Stoep 5659c9cf1d Merge "Create dir in /data for vendor customization" am: c39a31f002 am: bfc4da8369
am: bc4d384d49

Change-Id: Ic14d961fb28c1cbad6a2082a321a679580a69d2c
2017-03-23 19:48:45 +00:00
Treehugger Robot c39a31f002 Merge "Create dir in /data for vendor customization" 2017-03-23 19:36:52 +00:00
Jeff Vander Stoep 61efb0dab8 Create dir in /data for vendor customization
Vendor owns /data/vendor.

HAL data must go in /data/vendor/hardware/.

Bug: 34980020
Test: build and boot AOSP Marlin. Observe /data/vendor and
      /data/vendor/hardware exist and are empty.
Change-Id: I6fe96e3c76a10a5eb480ba10e10d4d006de56c12
2017-03-23 10:30:34 -07:00
Steven Moreland 2b9a3391d0 Merge "Start hwservicemanager earlier." am: fcd509298d am: 0a85db775e
am: 6c546660d9

Change-Id: Ifd4e04fef289f8ece3884434efa1a3c6d47890fa
2017-03-23 03:53:01 +00:00
Treehugger Robot fcd509298d Merge "Start hwservicemanager earlier." 2017-03-23 03:39:40 +00:00
Steven Moreland 9e36331174 Start hwservicemanager earlier.
Also start hals where hwservicemanager was started before.

Bug: 36278706
Test: internal marlin+angler boots
Change-Id: Ia55d2ef747fcbd086a09e1bb856824b14343118b
2017-03-22 11:19:31 -07:00
Wei Wang 33a55b3d52 init.rc: remove bg_non_interactive cgroup am: a27a91a5fd am: 20943abad0
am: 7d4d63ca18

Change-Id: I5c1d3a860c64dae63be5edcc91734805863d6f85
2017-03-22 00:34:33 +00:00
Wei Wang a27a91a5fd init.rc: remove bg_non_interactive cgroup
We have seen cases when threads in this cgroup not scheduled for more than
a few seconds in heavy workload situation and causing device freeze.
In Linux, multiple threads placed in ROOT cgroup cause the CPU resource to
be split per thread, rather than per group.
Currently we have many threads in ROOT cgroup, which makes threads in
bg_non_interactive cgroup to have "tiny" CPU resource other than 5%
quota defined.

Bug: 34193533
Test: on marlin
Change-Id: I7721f6196560fbedf6265e8b6db130cec9edefd7
2017-03-20 22:13:07 -07:00
Dimitry Ivanov ee34aecafe Add ld.config.txt to /system/etc
This file describes how loader should set up
default namespace for different kind of binaries.

Note that vendor and some of system binaries are
not yet ready for this config to be enabled - they
rely on libraries they shouldn't be relying upon.

Bug: http://b/30435785
Test: m
Change-Id: I7d5853a6b55db169be1dc2c38cc682711bf7f7f5
2017-03-17 12:27:37 -07:00
Jeff Vander Stoep 13b8bd0175 Merge "init-debug.rc: don't mount debugfs" am: 54e7365fee am: 9a1ed6106d
am: 038a906997

Change-Id: Ie32933ee52b6b81c3b51adfbe93cf176b3805198
2017-03-16 17:41:48 +00:00
Jeff Vander Stoep 082807f3b4 init-debug.rc: don't mount debugfs
Motivation:
1. Reduce skew between userdebug and user builds.
2. Make the decision to mount debugfs on debug builds on a
   per-device basis.
3. Prepare to not mount it at all to reduce the attack surface
   of the kernel, reduce boot time, and free up memory.
4. Remove the selinux denial on devices that mount twice, i.e.
   unconditionally in the device specific .rc file and in the
   init-debug.rc file.
   avc: denied { mounton } for path="/sys/kernel/debug" dev="debugfs"
   ino=1 scontext=u:r:init:s0 tcontext=u:object_r:debugfs:s0
   tclass=dir permissive=0

If desired, debugfs may be mounted in device specific rc files
instead.

Bug: 31856701
Bug: 35197529
Test: Build and boot Marlin. Selinux denial no longer observed.
Change-Id: Ie0d954f77f7cf70ed2b94f67a57a6c9eba45ba8e
2017-03-14 21:56:24 -07:00
David Lin a44f638a01 Merge "init.rc: enable ledtrig-transient support for vibrator" am: 75b66a6f2a am: 64af4183a1
am: f357e1989a

Change-Id: I98daea756aceeaeaca099bfb6dd668c68c58a8dd
2017-03-11 01:35:24 +00:00
Treehugger Robot 75b66a6f2a Merge "init.rc: enable ledtrig-transient support for vibrator" 2017-03-11 01:23:18 +00:00
Andreas Gampe 19c4f38402 Merge "ASAN: Separate SANITIZE_LITE from asan.options" am: e7195be772 am: ee7be79816
am: df13a9e51e

Change-Id: Ia3f1b5b5a7ecac19658da9b1700d9f860f3005ae
2017-03-10 21:18:24 +00:00
Andreas Gampe 21bb2e0388 ASAN: Separate SANITIZE_LITE from asan.options
Add SANITIZE_LITE_SERVICES to drive usage of asan.options for a
large set of native services.

Test: m SANITIZE_TARGET=address SANITIZE_LITE=true
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true SANITIZE_LITE_SERVICES=true
Change-Id: I84458dcc1b193b762daeb3004cf6c49e2fd8fae2
2017-03-10 10:48:00 -08:00
Wei Wang 8c1e3292a8 Merge "init.rc: make sure netd start after post-fs-data" am: f58280e7dc am: 449b59873f
am: 07ace62093

Change-Id: I68103aafa9a23e0bf177d91544e4fbd743d222e4
2017-03-09 23:56:30 +00:00
Wei Wang bae9ba3402 init.rc: make sure netd start after post-fs-data
Current init doesn't order the triggeres it scaned, and there is no
guarantee that general event trigger exec first and then event+property
triggers.

This CL will make sure netd started after post-fs-data trigger is done.

Bug: 35110957
Test: marlin boots
Change-Id: I7bb55af4e00f336682388abfa8a06eac2136b7d4
2017-03-09 13:53:39 -08:00
David Lin 27b2c1e678 init.rc: enable ledtrig-transient support for vibrator
This change makes the init process to always attempts to enable
transient trigger for vibrator. This allows the exported properties to
change the ownership later at the on boot stage.

Test: device vibrates with the driver supports ledtrig-transient

Change-Id: If5eb7b7feaefe803f2ead634fbe4fc7b48da84ea
Signed-off-by: David Lin <dtwlin@google.com>
2017-03-09 18:42:33 +00:00
Wei Wang 36baabf07b Merge "init.rc: start netd and zygote early for file based encryption devices" am: 4bf2bc078f am: 1a65e43878
am: 3b272c7bf8

Change-Id: Ie44f4fd8a04b1fa1d0a5c6f7e01410246589c9d9
2017-03-09 06:24:27 +00:00
Jesse Hall d08467f341 Add NDK libsync to linker whitelists
Test: make
Change-Id: Idb9ddfce7032a3faef7213327d3160968d4a80ba
2017-03-08 21:51:39 -08:00
Wei Wang 7f32aa4d04 init.rc: start netd and zygote early for file based encryption devices
Bug: 35110957
Test: marlin boots
Change-Id: Ibe4c413e41fcf25a68b50d99ee66d9b70706a6a1
2017-03-08 14:48:53 -08:00
Wei Wang 43a356d213 Merge "init.rc: add a new zygote-start trigger" am: 4e5e797d26 am: 0d9416ba2e
am: 2980bc1139

Change-Id: I56e6907db4063f6b527be710b00de9200aa8914a
2017-03-08 22:28:24 +00:00
Treehugger Robot 4e5e797d26 Merge "init.rc: add a new zygote-start trigger" 2017-03-08 22:18:11 +00:00
Wei Wang a2058036ed init.rc: add a new zygote-start trigger
Bug: 35110957
Test: marlin boots
Change-Id: I12b41588371486e79938df2f7a2152cda18530d1
2017-03-08 12:39:41 -08:00
David Lin ae31fd48b0 Merge "init.rc: remove duplicated chown entry for timed_output" am: e88882e16e am: 9c23fcbcd9
am: 197b3f736c

Change-Id: I4a87933290c31305b03fbcaa5c719503d8928b32
2017-03-08 18:50:09 +00:00
David Lin 489450abe3 init.rc: remove duplicated chown entry for timed_output
Test: build

Change-Id: Ib15be4188cdce270a15bd90304be0704d9e54cbf
Signed-off-by: David Lin <dtwlin@google.com>
2017-03-07 21:31:42 -08:00
Mathias Agopian f77e32cb6f add libnativewindow to the linker whitelist
Test: compile
Bug: treble
Change-Id: I59c614ef045dad79e68bbf6fe86f786ecd14ce78
2017-03-02 19:16:42 -08:00
Ryan Campbell a4f5d12b71 Merge "Add global GCOV_PREFIX option." am: df0f792a9e am: 2d3378350a
am: 11339c7e34

Change-Id: I10d53220ea5e433ae0f027bf21750a239a588e9c
2017-02-28 23:37:10 +00:00
Ryan Campbell 0b36473272 Add global GCOV_PREFIX option.
When native coverage is enabled, add a global GCOV_PREFIX
environment variable specifying that gcda files be output
with path prefix /data/local/tmp.

Bug: 35635587
Test: make NATIVE_COVERAGE=true; check init.environ.rc
Change-Id: I40972aea3ca3168d0687bdc93e9d4b7b3a1071b9
2017-02-27 15:00:18 -08:00
Michael Wright 330eb9e33a Merge "Revert "Only allow system to write to existing input nodes."" am: 05009d9336 am: 8eef0a5dfb
am: ba1f83d70c

Change-Id: Iac642c0e1e78f09302f3954b0d779e15c73fae4c
2017-02-21 19:07:18 +00:00
Michael Wright 14667c19cd Revert "Only allow system to write to existing input nodes."
This reverts commit 344e929e6d.

Bug: 35301292
Change-Id: Ib6805c986c0aa88d14652de59ad4602b1cce8b56
2017-02-21 17:12:59 +00:00
Narayan Kamath 59e8e07c89 Merge "Revert "Revert "Lazily preload secondary zygote resources.""" 2017-02-16 12:31:02 +00:00
Narayan Kamath f403e64bd0 Revert "Revert "Lazily preload secondary zygote resources.""
This reverts commit b248cb469a18e00131338b300f8b344aac52fcb5.

Test: manual
Bug: 34810190
Change-Id: I999e759a5681a58962aa5a0783946c15237bf45c
2017-02-14 19:03:15 +00:00
Narayan Kamath 4787663322 Merge "Reapply 13398711387e9ce1: Only apply schedTune boost to top-app tasks" am: dce4b65fe0 am: 9babb434ed am: 321a861b79
am: dd950ba9d4

Change-Id: I5b247c8fcbc76f9c36a203011fb693bafab7eb6c
2017-02-14 09:16:37 +00:00
Narayan Kamath eeabbeba16 Reapply 13398711387e9ce1: Only apply schedTune boost to top-app tasks
Parts of this change were accidentally reverted by an incorrect
manual merge conflict resolution.

Bug: 35306127
Test: manual
Change-Id: I8e6d6b07dcaa548775213dd42ba9def7431c62d3
2017-02-13 17:34:51 +00:00
Todd Poynor 1cf50050e6 Merge "init.rc: create /data/misc/reboot for storing reboot reason" am: e499403bf4 am: 4dbefe4d4c am: 23b31ba7e3
am: 0561551951

Change-Id: I5ea693f7f34903305e34391fcd7d7a7174c2ffd8
2017-02-10 21:43:22 +00:00
Todd Poynor 44ee2b0ef8 init.rc: create /data/misc/reboot for storing reboot reason
Create /data/misc/reboot if not already.

Bug: 30994946
Test: manual: reboot command; modified thermal-engine.conf
Change-Id: I66418beba539f76759b44742af7700f26a2c1f87
2017-02-10 19:26:13 +00:00
Phil Burk 73b4f8aeed libaaudio: changed name from liboboe
Bug: 34749573
Test: CTS test_aaudio.cpp
Change-Id: Ic95f21fcaf0f13e09f57dfb612d5bcc4755f447b
Signed-off-by: Phil Burk <philburk@google.com>
2017-02-10 17:26:20 +00:00
Michael Wright 344e929e6d Only allow system to write to existing input nodes.
This prevents the shell user from injecting input as if it were coming
from an existing input device, which in turn makes it easier for malware
/ abuse analysis to detect when someone is injecting input via the
command line vs a real user using a device.

(cherrypick of 95637eb2a332b9a09914b1bf32c10fccfba4a175.)

Bug: 30861057
Test: ran getevent, saw correct output, played with device
Change-Id: Ib53eea1b7767f25510b5d36fe6109101a9fad8e0
2017-02-09 14:45:25 -08:00
Michael Wright f437ace00d Merge "Only allow system to write to existing input nodes." 2017-02-09 16:03:35 +00:00
Narayan Kamath f3d891031e Revert "Lazily preload secondary zygote resources."
This reverts commit e5aee79e9c.

Given recent improvements to boot timing, and higher paralellization,
the lazy preloading of zygote resources makes boot time slightly slower
by ~100-250ms. Therefore, the change is being reverted until we can do
it properly and defer it to a later point in the boot process. This work
is being tracked by b/34810190

BEFORE
------
successive-online : 17290.0,17633.0,17329.0,17655.0,16802.0,16888.0,17645.0,17369.0,17572.0,16932.0,
successive-online_avg : 17311.5
successive-boot : 24834.0,25119.0,25122.0,25091.0,25617.0,25535.0,25047.0,27462.0,25088.0,25648.0,
successive-boot_avg : 25456.3

AFTER
-----
successive-online : 16973.0,16530.0,17015.0,17953.0,17367.0,17098.0,16887.0,17377.0,18039.0,16742.0,
successive-online_avg : 17198.1
successive-boot : 24921.0,25622.0,25781.0,25449.0,25128.0,24774.0,24554.0,25029.0,24544.0,25809.0,
successive-boot_avg : 25161.1

Test: Boot timings collected with tradefed harness.
Bug: 34810190
Change-Id: I9a6dd5ce31bda067e74fc088b057711fa4a7a0fb
2017-02-07 10:22:37 +00:00
Steven Moreland 314bb2faf2 Merge "init.rc, typo: fs-post-data -> post-fs-data" am: 5b202c4376 am: e0ac5d8304 am: 311e4295dc
am: 06e9f5de8c

Change-Id: I1525db8d43c3c27fe7ae1b17dd97a99f28321c13
2017-01-26 00:58:46 +00:00
Steven Moreland f38aab4621 init.rc, typo: fs-post-data -> post-fs-data
Test: pass
Change-Id: Icafdb7ec61935b35db85096b49e7f232a456f620
2017-01-25 10:52:40 -08:00
Josh Gao 5150a8fb85 Actually don't start tombstoned until /data is mounted. am: 0ad5107e51 am: 1170d8201d am: bf8bd27bb3
am: 32d18e2204

Change-Id: I45fe22d5b83e6399aadc374976986e7f660d9eba
2017-01-24 02:51:34 +00:00
Josh Gao 0ad5107e51 Actually don't start tombstoned until /data is mounted.
Bug: http://b/34461270
Test: boot is actually faster
Test: tombstoned still started by init
Change-Id: I4976abef108bbb6fad264f9b68cbc1fba711085b
2017-01-23 16:01:14 -08:00
Michael Wright 95637eb2a3 Only allow system to write to existing input nodes.
This prevents the shell user from injecting input as if it were coming
from an existing input device, which in turn makes it easier for malware
/ abuse analysis to detect when someone is injecting input via the
command line vs a real user using a device.

Bug: 30861057
Test: ran getevent, saw correct output, played with device
Change-Id: Ib53eea1b7767f25510b5d36fe6109101a9fad8e0
2017-01-23 17:55:23 +00:00
Josh Gao 8c98938853 Merge "init: don't start tombstoned until /data is mounted." am: b479a5002e am: f83489c02c am: d7db8378d0
am: 5d6ea5a9bd

Change-Id: I5ad79b54f9f42e6b04d81ca8123e5b41b03e92fb
2017-01-20 22:27:44 +00:00
Treehugger Robot b479a5002e Merge "init: don't start tombstoned until /data is mounted." 2017-01-20 22:13:38 +00:00
Josh Gao 42a0fed78b init: don't start tombstoned until /data is mounted.
When vold mounts the encrypted /data partition, it first checks for and
kills processes that have open fds to the tmpfs placeholder at /data.
This resulted in a 20 second boot-time regression (vold's timeout period)
when tombstoned was started before vold.

Bug: http://b/34461270
Test: boot is faster, no messages from vold in console spew
Test: tombstoned still started by init
Change-Id: Ib5e9ddb05f40c9da852f00e103861c6ff2d94888
2017-01-20 13:18:51 -08:00
Dave Weinstein 4b499a1b13 Merge "Move the kptr_restrict setting from init.rc to init.cpp." am: c734a0a9ee am: 776978788b am: 7e79a571fd
am: a69b7ea3a4

Change-Id: Iabde07f1c50e62b5394386f5718ae5a3d40e7c3b
2017-01-20 20:34:40 +00:00
Dave Weinstein 44f7e4f421 Move the kptr_restrict setting from init.rc to init.cpp.
Also ensure that it uses the highest supported value, and
abort if the value is not above a minimum threshold.

Test: Tested against the curent kernel (maximum value of 2,
      set to 0 by the kernel initially) and against a
      modified kernel (maximum value of 4, set to 4 by the
      kernel initially)

Bug: 30368199
Change-Id: I608db577258b68b390ffe96f452e1f7c0bc9ad8a
2017-01-20 09:40:43 -08:00
Winter Wang 9450e741d3 Merge "init: usb: fix audio_source function typo" am: 56098eed3b am: 6a5f085288 am: 8aefa0a8f3
am: 912ea6bb10

Change-Id: I48933d7b08d2bb2f2a108ddb20f25d85e5fb5c88
2017-01-18 01:53:22 +00:00
Winter Wang 60c763ed52 init: usb: fix audio_source function typo
for audio_source function instance, there exist 2 function name here:
    "audio_source.gs2" and "audio_source.gs3"
I believe this usb accessory audio name "audio_source.gs2" is a typo,
as there is no need to create another audio_source instance.

Test: Manual

Change-Id: I70b513db474632eb990131c285c8d5105c17970f
Signed-off-by: Winter Wang <wente.wang@nxp.com>
2017-01-17 14:27:34 -08:00
Josh Gao 2af02ff24f Merge "adb: remove support for legacy f_adb interface." am: 72d4c42cd5 am: 6865111e9c am: 5e0caf8d1b
am: bb7261421d

Change-Id: I7ef24f4fd1d4d951d293ff19eeeb8f16bd4188d0
2017-01-12 22:49:27 +00:00
Josh Gao 72d4c42cd5 Merge "adb: remove support for legacy f_adb interface." 2017-01-12 21:24:34 +00:00
Paul Lawrence 8cf0eba307 Merge "Set right attributes on tracing folder" am: 5d8bf9e6e2 am: f014e41731 am: 36eeceec84
am: 87b62dc44c

Change-Id: Ie1eeaf4d1e0dc63c80262376720abe96684a2590
2017-01-12 01:52:03 +00:00
Paul Lawrence 3d8ade3f24 Set right attributes on tracing folder
Since splitting tracefs out from debugfs, we now need to set the
attributes explicitly on tracing folder.

Test: Run adb shell atrace -c -b 16000 -t 5 gfx
Bug: 34197733
Change-Id: If2a962332b6d1ec227e289bdf952213756e26186
2017-01-11 15:51:25 -08:00
Josh Gao 183b73e665 adb: remove support for legacy f_adb interface.
Everything should be using the functionfs interface instead by now.

Bug: http://b/34228376
Test: grepping for f_adb, android_adb in source tree
Test: m
Change-Id: I6bc41049c49a867499832588dac8ed108c636c11
2017-01-11 15:00:03 -08:00
Wei Wang 67bfc5dd2c Merge "Restart wificond when zygote died" 2017-01-09 16:30:27 +00:00
Wei Wang 38fcd33e46 Restart wificond when zygote died
This helps to avoid tearDownInterfaces call from WiFiStateMachine's
constructor.

Bug: 33752168
Test: on device

(cherry picked from commit 0db195d0757e36c73b9da5a95d9b9986386f0f2e)

Change-Id: I55f56dd8daa5089073ff8dd424e92d09326c7d00
2017-01-07 19:45:42 -08:00
Wei Wang 54ad104553 Restart wificond when zygote died
This helps to avoid tearDownInterfaces call from WiFiStateMachine's
constructor.

Bug: 33752168
Test: on device
Change-Id: I44527ee39700c5ac3259bba3a007dde6979170ff
2017-01-07 05:53:43 +00:00
Narayan Kamath e5aee79e9c Lazily preload secondary zygote resources.
Companion to change Id387b7132d0 in frameworks/base.

Test: manual
Change-Id: I3f50327aafddce8530a990505cd436225c5fe7a7
2016-12-28 15:17:52 +00:00
Phil Burk 815024d24e Oboe: make liboboe.so public
Bug: 30210002
Test: in frameworks/av/media/liboboe/tests

Change-Id: Id7d0b0eebf68bc5e93fc257c2f924205db57312c
Signed-off-by: Phil Burk <philburk@google.com>
2016-12-21 17:19:32 -08:00
Elliott Hughes b0aea04065 Merge "Improve init bootcharting." am: 4ee7861ee1 am: a6532b4717 am: 1a947725b8
am: 352b9c6282

Change-Id: I58b258cbf13bdcc874bcce35d4bb07378a8a1864
2016-12-16 18:03:12 +00:00
Elliott Hughes 4ee7861ee1 Merge "Improve init bootcharting." 2016-12-16 17:32:27 +00:00
Sandeep Patil 9b2e207099 Merge "socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE" am: 0a2080bced am: 571e246983 am: c345388bea
am: e432dc58c1

Change-Id: Iab5bafe3e156dfb2fc75634c8d25b5f67991915e
2016-12-14 19:54:35 +00:00
Sandeep Patil 5fee496e62 socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE
The SO_RCVBUFFORCE option requires the caller of uevent_create_socket()
to have net_admin capabilities.

Set platform default rcv/snd buffer sizes to 256kb that will always be
overridden by the device/target. However, it will allow
ueventd / healthd to use the uevent_create_socket() API w/o requiring
the net_admin capability.

Note: All devices override the buffer sizes according to the technology
maximum to at least ~8MB. So, the init.rc change here is to make sure
platform code can work w/o any overrides.

Test: no SELinux failures for healthd with 'net_admin' removed.

Bug: https://b/32733887

Change-Id: Ida346468cd550ad07901bf3a78ad508939849906
Signed-off-by: Sandeep Patil <sspatil@google.com>
2016-12-09 15:16:28 -08:00
Elliott Hughes a3641af22f Improve init bootcharting.
Most notably, there's no longer any need to guess an end time.

Bug: http://b/23478578
Bug: http://b/33450491
Test: rebooted with bootcharting on/off
Change-Id: Icb7d6859581da5526d77dfc5aa4d57c9bfbfd7e2
2016-12-08 17:35:45 -08:00
Nick Kralevich 107b8ec454 Merge "change /data/bugreports to /bugreports" am: 1b2e6abf3b am: 5fae86b5fa am: cb9fbb4cf6
am: c3f9d38a4c

Change-Id: Ie10d1db864543ad6cc8695267344453599408c52
2016-11-23 00:19:04 +00:00
Nick Kralevich 5fae86b5fa Merge "change /data/bugreports to /bugreports"
am: 1b2e6abf3b

Change-Id: I7de15de91a688f8fe4a203a84b54e7dcfa106782
2016-11-23 00:11:13 +00:00
Nick Kralevich c4084c6694 change /data/bugreports to /bugreports
It's 5 characters shorter, has no runtime costs, can be stored on a
read-only partition, and avoids problems like b/27262109 and b/27204904.
It allows makes some security hardening easier.

Bug: 27262109
Bug: 27204904
Bug: 32799236
Test: verified new symlink created and old one not present
Change-Id: Ief362e13569ad9c868a7f0f9c4dbd6a328c96c6b
2016-11-22 08:57:25 -08:00
Nick Kralevich 8e22b4b9ec init.rc: delete extra whitespace am: 715e33452e am: 70056e91fe
am: 6bef57560f

Change-Id: I8379eecc012dafb16e037e7fae8386df6b677303
2016-11-20 01:11:05 +00:00
Nick Kralevich 715e33452e init.rc: delete extra whitespace
causes merge conflicts.

Test: none
Change-Id: Ic83db2b3e2f972955efadfc8df8fe8ec918a7609
2016-11-19 16:07:40 -08:00
Paul Lawrence 0705fcb2f4 Merge "Add flags to restorecon_recursive to traverse filesystems" am: 5fbd1cfd34 am: ffa3689107 am: a99490c813
am: e799e3317a

Change-Id: Icd4b867d450c7b84f86f9d91b39faf6792544cb1
2016-11-17 18:30:22 +00:00
Paul Lawrence ffa3689107 Merge "Add flags to restorecon_recursive to traverse filesystems"
am: 5fbd1cfd34

Change-Id: I539d7e9d441c7bb3f5602b892408a85436b857e8
2016-11-17 17:55:06 +00:00
Paul Lawrence a8d8434c42 Add flags to restorecon_recursive to traverse filesystems
Use to solve the problem of tracefs conditionally being mounted
under debugfs and needing restorecon'd without boot performance
penalty.

Also move skip-ce to a flag for consistency.

Test: Check that trace_mount has correct attributes after boot
Bug: 32849675
Change-Id: Ib6731f502b6afc393ea5ada96fa95b339f14da49
2016-11-16 22:27:45 +00:00
Tianjie Xu c488087aa0 Start update_verifier in cache group
Start update_verifier in cache group to avoid dac_override

Bug: 30020920
Change-Id: I227b4a0e1c07e7b9bf209b432e9db02275ffe660
Test: mma
(cherry picked from commit 1e4635f0a8)
2016-11-09 11:57:26 -08:00
Sandeep Patil cb221cee18 Merge changes from topic 'healthd-charger-split'
* changes:
  healthd: refactor healthd code to split into 'charger' and 'healthd'
  healthd: build 'charger' and 'healthd' binaries
  healthd: refactor to split charger and framework facing code
2016-11-08 23:45:15 +00:00
Sandeep Patil 6012db553c healthd: build 'charger' and 'healthd' binaries
This renames the old '/sbin/healthd' to '/sbin/charger'
which is to be only used in recovery and charger-only mode.

.. and adds a new dynamically linked executable in /system/bin/healthd
to be used as 'healthd' in Android.

   text    data     bss     dec     hex filename
 817404   36704   37960  892068   d9ca4 root/sbin/charger {was healthd}
  72717   11064   12984   96765   179fd system/bin/healthd {*new*}
 890121   47768   50944  988833   f16a1 (TOTALS)

Corresponding changes in recovery and charger-only .rc files are
required change how 'charger' is launched in each mode.

Update the seclable for healthd with the launch path in init.rc

Test: Boot tested and verified all 3 modes (recovery, charge-only,
android)

Change-Id: I4ada27a4c113258c5be1fd10adb0f58232b10024
Signed-off-by: Sandeep Patil <sspatil@google.com>
2016-11-08 07:36:07 -08:00
Paul Lawrence ef2479247d Merge "Fix selinux warning on tracefs systems" am: 0ad600bdc6 am: 3915012a46 am: 67387a3510
am: a0d26e7cdd

Change-Id: I004165050ab96c3a9a7f1fbcdadf84c22b8256d9
2016-11-07 15:22:23 +00:00
Paul Lawrence 3915012a46 Merge "Fix selinux warning on tracefs systems"
am: 0ad600bdc6

Change-Id: Ibaab6580caf0fe216cfae72bf5d2560fec02afdf
2016-11-07 15:07:22 +00:00
Paul Lawrence d2abcbd0ab Fix selinux warning on tracefs systems
restorecon_recursive doesn't traverse filesystem boundaries. On
tracefs systems, tracing is a separate filesystem, so restorecon
this as well

Bug: 30963384
Test: Boot hikey, and check that there are no debugfs_tracing denials in dmesg
Change-Id: I24abd3ad80d2cfdab4f64fecee799fc0c24ed238
2016-11-04 10:56:06 -07:00
Nick Kralevich 9ec05b1381 Merge "give zygote AID_READPROC" am: 3a724a8f5d am: d3a2573eea am: 1af7e94c93
am: ab1413013f

Change-Id: Ice5e5aaa8ef0699ecfad9840b36cb6c3ec5e0541
2016-11-03 18:24:35 +00:00
Nick Kralevich d3a2573eea Merge "give zygote AID_READPROC"
am: 3a724a8f5d

Change-Id: Ie877330cba17a429ec3cd26eafaaeca3df66cc59
2016-11-03 18:15:04 +00:00
Treehugger Robot 3a724a8f5d Merge "give zygote AID_READPROC" 2016-11-03 18:08:55 +00:00
Steven Moreland f8f334966d Merge "Update for hidlized hwservicemanager." am: 480af3f633 am: 82c67f5662 am: b394786624
am: 0c54c1e8d6

Change-Id: I8a186016e14aa4137233fc97f949b14bac7f19cd
2016-11-02 22:38:35 +00:00
Steven Moreland 82c67f5662 Merge "Update for hidlized hwservicemanager."
am: 480af3f633

Change-Id: I2c11b0249ab77e9dc22a76f6aa66026ebf3ed00d
2016-11-02 22:23:56 +00:00
Nick Kralevich c21169c59f give zygote AID_READPROC
In zygote wrapping mode, ZygoteConnection does a check to see if the pid
reported by the wrapped process is either child process that was
forked, or a decendent of it. This requires read access to other
processes /proc files. Grant zygote AID_READPROC to allow this access.

Bug: 32610632
Test: manual inspection of /proc files to verify group.
Test: manual inspection of zygote's children to make sure they do not
      inherit AID_READPROC

Change-Id: I3619a9ae33c8077e068e8024f7c7d44cfca6fb76
2016-11-02 13:48:32 -07:00
Steven Moreland ba825ac33f Update for hidlized hwservicemanager.
Bug: 32313592
Test: end to end
Change-Id: I76a7ee01413b28e95e9f19fcde90f6372502ec67
2016-11-02 13:29:34 -07:00
Iliyan Malchev 1797eb1f09 init.rc: have hwservicemanager start the HAL class am: 57d66b8447 am: ad0cbcf21c am: f0099ccb23
am: 121fe849e8

Change-Id: I6cba53d417d505b56e8294afaad473399f692beb
2016-09-27 00:22:46 +00:00
Iliyan Malchev 121fe849e8 init.rc: have hwservicemanager start the HAL class am: 57d66b8447 am: ad0cbcf21c
am: f0099ccb23

Change-Id: I5c24ecbf89d723c478a02bcab8cffc4e9e4385e9
2016-09-27 00:16:50 +00:00
Martijn Coenen ac129cbaa2 Add hwbinder dev node permissions. am: f5110ea029 am: a2249bc1bd
am: 2008af6af5

Change-Id: I18c7c1b8b372f59f609e12a2532bd9e435e1ba81
2016-09-27 00:16:46 +00:00
Iliyan Malchev 57d66b8447 init.rc: have hwservicemanager start the HAL class
b/31458381
Test: passing build and runtime tests

Change-Id: I1d26af5ca1d0e9c7bbd97cfd88d0b432b50b7216
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-26 00:23:51 -07:00
Martijn Coenen f5110ea029 Add hwbinder dev node permissions.
b/31458381
Test: pass

Change-Id: I8ec92a29287b17636c363c55a8565dacab19043d
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-26 00:23:51 -07:00
Ajay Panicker ac657cd0d2 Merge "Remove net_bt_stack group and replace it with bluetooth" am: 7875407bb7 am: f924c252bd am: b0db9714bb
am: 531b201eb6

Change-Id: Ie822dd8f259f240eb457f5d67948c417f84817c6
2016-09-23 00:04:45 +00:00
Ajay Panicker 531b201eb6 Merge "Remove net_bt_stack group and replace it with bluetooth" am: 7875407bb7 am: f924c252bd
am: b0db9714bb

Change-Id: I025c5301fecf0566d8184efce099a195fdbfc460
2016-09-22 21:58:27 +00:00
Ajay Panicker 604208e957 Remove net_bt_stack group and replace it with bluetooth
Bug: 31549206
Change-Id: I667963e5f9fd1a5dc9ad74378b318e3b782e6883
2016-09-20 12:01:33 -07:00
Ajay Panicker 35a0ef524b Merge "Allow bluetooth service to access bluetooth directory and add /logs (1/6)" am: 2c2a3f7a95 am: 3a9a16ee79 am: f5ffb20e6f
am: bf2b7a93b2

Change-Id: Iac994fa66eeb7b4e84cd72891ff7449bb51f9da3
2016-09-20 03:25:22 +00:00
Ajay Panicker bf2b7a93b2 Merge "Allow bluetooth service to access bluetooth directory and add /logs (1/6)" am: 2c2a3f7a95 am: 3a9a16ee79
am: f5ffb20e6f

Change-Id: Ied3f4a26681d0c1e3bd72d4f1d0de77fa9e7803a
2016-09-19 20:26:21 +00:00
Ajay Panicker 59d6a8cf8a Allow bluetooth service to access bluetooth directory and add /logs (1/6)
Bug: 31466840
Change-Id: I2c2766a2366600def81708d97cf3f3f13e0eb655
2016-09-19 17:50:56 +00:00
Todd Kjos 9453ea8ba9 resolve merge conflicts of c6937f2 to nyc-mr1-dev-plus-aosp
Change-Id: I82638b0dab5e1b5117f4ed4752fd2cbdaf8c47b1
2016-09-13 12:40:32 -07:00
TuHailong 049f38ed6e Fix zygote energy-aware scheduler tuning bug
Change-Id: Ib612e99f7b115c2fbd1503e0994948fd0b0a2dec
2016-09-13 08:14:00 -07:00
TuHailong d90a55c4bf Fix zygote energy-aware scheduler tuning bug
Change-Id: Ib612e99f7b115c2fbd1503e0994948fd0b0a2dec
2016-09-08 21:45:41 +08:00
Wei Wang d61a7e2da4 Split fstab mount into 2 phases
This will make it possible to start some key services before mounting
data partition

Bug: 30118894
Change-Id: Ia9f8cc035de6cc0df9a61605864915efa0266d7f
(cherry picked from commit abfbec342f)
2016-09-06 21:04:26 +00:00
Wei Wang 254f44363b Split fstab mount into 2 phases
This will make it possible to start some key services before mounting
data partition

(cherry picked from commit abfbec342f)

Bug: 30118894
Change-Id: Ia9f8cc035de6cc0df9a61605864915efa0266d7f
2016-09-06 11:39:05 -07:00
Wei Wang abfbec342f Split fstab mount into 2 phases
This will make it possible to start some key services before mounting
data partition

Bug: 30118894
Change-Id: Ia9f8cc035de6cc0df9a61605864915efa0266d7f
2016-09-02 18:11:06 -07:00
Andreas Gampe 9acbbbddc9 Asan.options: Use abort_on_error am: 67b7e85b18 am: 4f31cff93b
am: bdbe675fa1

Change-Id: I4f9c8b507e9f5fc84790eac8c2cc6d65aed8d5f8
2016-08-17 19:32:23 +00:00
Andreas Gampe bdbe675fa1 Asan.options: Use abort_on_error am: 67b7e85b18
am: 4f31cff93b

Change-Id: I8c06aea3ede9f93493aa905ceb0c363e8abc3c1f
2016-08-17 19:05:56 +00:00
Andreas Gampe 67b7e85b18 Asan.options: Use abort_on_error
Use abort to have debuggerd act and create a tombstone.

Bug: 30775464
Change-Id: I359c7c7c094880b7b55304cd2aa3f4b360b729d8
2016-08-16 15:45:56 -07:00
Badhri Jagan Sridharan d80cd74426 Remove redundant action triggers on persist.sys.usb.config am: 05e04a134e am: ab5c247b0d
am: 9306e7c17a

Change-Id: Ifc8ae396e1401cafc37709f88b34601d1ed37953
2016-08-10 22:31:53 +00:00
Badhri Jagan Sridharan 9306e7c17a Remove redundant action triggers on persist.sys.usb.config am: 05e04a134e
am: ab5c247b0d

Change-Id: I470da113930539b5ae0ad4a706c8dfe080a52ee2
2016-08-10 22:25:58 +00:00
Badhri Jagan Sridharan 05e04a134e Remove redundant action triggers on persist.sys.usb.config
persist.sys.usb.config stores the usb functions which need to be enabled
when the phone boots up. When the phone is actually booted, setting this
would also activate the following action trigger on sys.usb.config

From init.usb.rc:
Used to set USB configuration at boot and to switch the configuration
when changing the default configuration
on property:persist.sys.usb.config=*
    setprop sys.usb.config ${persist.sys.usb.config}

sys.usb.config is anyways set to the actual functions by UsbDeviceManager
once it is set to none. Therefore add "on boot" condition to the above
action trigger so that persist.sys.usb.config does not race with
sys.usb.config.

BUG: 30440213
Change-Id: I3333d0b8334fb627469c7faad250bf3151bb1ebf
2016-08-01 21:56:23 +00:00
Amit Pundir 451dc52cb9 Merge \\\\"init: usb: delete rndis func to unregister n/w interface\\\\" am: 060b15e20a am: 6d287b3de7 am: e2f4d9e770
am: 9c23e55189

Change-Id: I7541b31811680cfdf85432a11880623fcc6142a8
2016-07-29 17:24:34 +00:00
Amit Pundir 9c23e55189 Merge \\\"init: usb: delete rndis func to unregister n/w interface\\\" am: 060b15e20a am: 6d287b3de7
am: e2f4d9e770

Change-Id: I10e03cad4cb026c86ce5882f6c25829830bf8d9f
2016-07-29 17:06:43 +00:00
Amit Pundir 6d287b3de7 Merge \"init: usb: delete rndis func to unregister n/w interface\"
am: 060b15e20a

Change-Id: I26e6e414f81fdee55fdfeb017ac0c4f5b0941eea
2016-07-29 17:01:15 +00:00
Martijn Coenen e90c3da3ab Add hwbinder dev node permissions.
Change-Id: I8ec92a29287b17636c363c55a8565dacab19043d
(cherry picked from commit e029e7c03dd798e70b5c3e5efdffb84c7f64a417)
2016-07-22 20:59:02 +00:00
Amit Pundir aae7b4984c init: usb: delete rndis func to unregister n/w interface
Rndis n/w interface "usb0" registration/deregistration is broken. If a
user try to switch to other functions or disable usb tethering or unplug
the usb cable then it doesn't kill "usb0" interface.

Fix is to delete Rndis function to unregister tethering interface when
switching from tethering to other functions or disable/unplug the
tethering cable. If we don't do that then the rndis netdev interface
will never be freed or unregistered.

This also means the rndis function has to be created everytime user
enable tethering function from Settings instead of creating it at
"on boot" in init.$hardware.usb.rc like we do currently. A relevant fix,
Change-Id: Icb49020d624fb21ef2607d473948cbbf3b9cc469, for reference has
already been submitted for device/linaro/hikey

Change-Id: If1f922e02277cccdc8c0b263be63989ee102cc80
Reported-by: Winter Wang <wente.wang@nxp.com>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2016-07-19 13:11:50 +05:30
Tianjie Xu 7edd3146c7 Merge \\"Start update_verifier in cache group\\" into nyc-mr1-dev am: eddde7a130
am: 872b6e8790

Change-Id: Iac20bb4571292da8b783de8185dff93dc04850b9
2016-07-14 23:06:49 +00:00
Tianjie Xu 872b6e8790 Merge \"Start update_verifier in cache group\" into nyc-mr1-dev
am: eddde7a130

Change-Id: Ia17697a852687f319050a8cf260316f522564085
2016-07-14 22:43:16 +00:00
Tianjie Xu eddde7a130 Merge "Start update_verifier in cache group" into nyc-mr1-dev 2016-07-14 22:27:08 +00:00
Pat Tjin 5408a76637 Merge \\"core/init.rc: Add /data/cache/* directory creation\\" into nyc-mr1-dev am: 46066ef405
am: b05988b33a

Change-Id: Iae9bc319eaad99364b59772260867fb90b08eeae
2016-07-14 19:23:27 +00:00
Yueyao (Nathan) Zhu b05988b33a Merge \"core/init.rc: Add /data/cache/* directory creation\" into nyc-mr1-dev
am: 46066ef405

Change-Id: Id67c7a2177520da1f3848642a68442c55b4f863d
2016-07-14 18:34:21 +00:00
Pat Tjin 46066ef405 Merge "core/init.rc: Add /data/cache/* directory creation" into nyc-mr1-dev 2016-07-14 18:28:51 +00:00
Tianjie Xu 1e4635f0a8 Start update_verifier in cache group
Start update_verifier in cache group to avoid dac_override

Bug: 30020920
Change-Id: I227b4a0e1c07e7b9bf209b432e9db02275ffe660
2016-07-12 18:31:17 -07:00
Tim Murray e43d1d523e Merge \\"Add support for background stune group.\\" into nyc-mr1-dev am: 531bdd5a2c
am: b386d72266

Change-Id: Ib0e2efeef7e015e0e8244e29a825bf3da50297a8
2016-07-12 02:46:06 +00:00
Irina Patru 51dcc811dc Merge \\"init.rc: Remove cpu weight set on the root cgroup\\" into nyc-mr1-dev am: ac957cbd72
am: ddb0f3c612

Change-Id: Ia872bcedde94c70dadc2c3a4e69e2d5cd375c28f
2016-07-12 02:46:05 +00:00
Tim Kryger 1af798ddc5 Merge \\\\"Remove attempt to write sched_compat_yield\\\\" am: 3f2db32b8c am: 49a986bf73 am: f789bd0133
am: 3886aaeae4

Change-Id: I6da3999160ca054e0d8e819e4b35420ae19507c7
2016-07-12 02:46:05 +00:00
Tim Murray 17b1c0c061 Merge changes from topic \\'stune\\' into nyc-mr1-dev am: 4b75a86858
am: b8a19f4499

Change-Id: Iecdd4d4693534640aef408f40aa3fd1e1fa9b93e
2016-07-12 02:05:02 +00:00
TreeHugger Robot 3f947d1c58 Merge "Remove attempt to write sched_compat_yield" into nyc-mr1-dev 2016-07-12 00:09:03 +00:00
Tim Murray b386d72266 Merge \"Add support for background stune group.\" into nyc-mr1-dev
am: 531bdd5a2c

Change-Id: Ia3be10db68dffc44e2d70535544c7c59d0933f7d
2016-07-11 23:55:17 +00:00
Tim Murray 531bdd5a2c Merge "Add support for background stune group." into nyc-mr1-dev 2016-07-11 23:21:12 +00:00
Irina Patru ddb0f3c612 Merge \"init.rc: Remove cpu weight set on the root cgroup\" into nyc-mr1-dev
am: ac957cbd72

Change-Id: I00c942a5d3e283efe40541c12f7daac2d2c77770
2016-07-11 22:29:13 +00:00
Tim Kryger f3e1f13d81 Remove attempt to write sched_compat_yield
The sched_compat_yield option was eliminated in Linux 2.6.38 by commit
ac53db596cc0 ("sched: Use a buddy to implement yield_task_fair()") and
as a result, the following error is printed to the log during boot up.

init: write_file: Unable to open '/proc/sys/kernel/sched_compat_yield':
No such file or directory"

Bug: 30034121
Change-Id: Idbdb68de0cb3ab1f67d82a4d66af880bcfdfe261
(cherry picked from commit 724dfbac70)
2016-07-11 15:22:50 -07:00
TreeHugger Robot ac957cbd72 Merge "init.rc: Remove cpu weight set on the root cgroup" into nyc-mr1-dev 2016-07-11 22:20:22 +00:00
Tim Kryger 3886aaeae4 Merge \\\"Remove attempt to write sched_compat_yield\\\" am: 3f2db32b8c am: 49a986bf73
am: f789bd0133

Change-Id: I7434b27cf1662543efbe7b5d9fee6bac16cc9f26
2016-07-11 21:44:49 +00:00
Tim Kryger 49a986bf73 Merge \"Remove attempt to write sched_compat_yield\"
am: 3f2db32b8c

Change-Id: I13c56436dd00cf2d5336ba757ae2c32d2e2504b5
2016-07-11 21:31:08 +00:00
Tim Murray 5dcff8f2b1 Add support for background stune group.
bug 29512132

Change-Id: If8144bfee0fb30cf11f2bb26494ca5e83c11d4d7
2016-07-11 13:57:31 -07:00
Tim Murray b8a19f4499 Merge changes from topic \'stune\' into nyc-mr1-dev
am: 4b75a86858

Change-Id: Ib11061d5d539f2e82ad16f122ea7d7b621bd988d
2016-07-11 20:35:56 +00:00
Irina Patru 23ad7517d2 init.rc: Remove cpu weight set on the root cgroup
It isn't allowed to change the cpu.share value for the root cgroup.
See kernel commit:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ec7dc8ac73e4a56ed03b673f026f08c0d547f597

This fixes the following error seen in dmesg:
init: write_file: Unable to write to '/dev/cpuctl/cpu.shares': Invalid argument

BUG: 28735908

Change-Id: I5ef359fb275792f99d13d35c62499026d354f6af
Signed-off-by: Irina Patru <irina.patru@intel.com>
(cherry picked from commit c560c6310f)
2016-07-11 12:35:51 -07:00
Tim Kryger 724dfbac70 Remove attempt to write sched_compat_yield
The sched_compat_yield option was eliminated in Linux 2.6.38 by commit
ac53db596cc0 ("sched: Use a buddy to implement yield_task_fair()") and
as a result, the following error is printed to the log during boot up.

init: write_file: Unable to open '/proc/sys/kernel/sched_compat_yield':
No such file or directory"

Bug: 30034121
Change-Id: Idbdb68de0cb3ab1f67d82a4d66af880bcfdfe261
2016-07-11 11:41:56 -07:00
Tim Murray 955694b657 Add support for top-app stune group.
bug 29512132

Change-Id: I41ec2dd80a469309f48dbb59fc27fbe43fcd67b3
2016-07-11 11:40:15 -07:00
Dan Willemsen 0a5bbe421f Merge \\\\"Use BOARD_USES_VENDORIMAGE to detect vendor image presence\\\\" am: 5d420e791b am: bdd01e86a5 am: a5b9b8f452
am: d377004c98

Change-Id: I9b56d6e84a121120f1c7df054a0bfdc96076aecb
2016-07-09 06:28:31 +00:00
Dan Willemsen d377004c98 Merge \\\"Use BOARD_USES_VENDORIMAGE to detect vendor image presence\\\" am: 5d420e791b am: bdd01e86a5
am: a5b9b8f452

Change-Id: Iceb0c03fa05a7f6126428128c8e5dced5e7e6cef
2016-07-09 06:08:40 +00:00
Dan Willemsen bdd01e86a5 Merge \"Use BOARD_USES_VENDORIMAGE to detect vendor image presence\"
am: 5d420e791b

Change-Id: I3a65ccc6bc5d6b3c63484baaa6d816939bd48073
2016-07-09 06:03:09 +00:00
Dan Willemsen 0790431f75 Use BOARD_USES_VENDORIMAGE to detect vendor image presence
When building without vendor/... in the tree, we won't be creating a
vendorimage, so BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE won't be defined. But
we still need to use the vendor image that will be present.

Bug: 30040825
Change-Id: I756adc615aea11da60da4d3a4568caca9fed93ab
2016-07-08 18:17:48 -07:00
Tim Murray 10b2ad167a resolve merge conflicts of 3a29e34 to nyc-mr1-dev-plus-aosp
am: 6469fa2a7e

Change-Id: I36b1580a9ce0548b27059699998289aa34fade7d
2016-07-07 20:47:56 +00:00
Tim Murray 6469fa2a7e resolve merge conflicts of 3a29e34 to nyc-mr1-dev-plus-aosp
Change-Id: I4edd53094a98fcb3cd3e1b063122d13f80d36d3c
2016-07-07 13:40:18 -07:00