Commit Graph

547 Commits

Author SHA1 Message Date
Dave Allison 967729b7ca Merge "Add LD_PRELOAD for libsigchain.so to the environment" 2014-05-29 19:51:42 +00:00
Nick Kralevich c290bed035 Merge "Remove dmesg_restrict" 2014-05-28 13:09:34 +00:00
Nick Kralevich 1a6184baf3 Remove dmesg_restrict
dmesg_restrict is too coarse of a control. In Android's case,
we want to allow the shell user to see dmesg output, but disallow
others from seeing it.

Rather than rely on dmesg_restrict, use SELinux to control access
to dmesg instead. See corresponding change in external/sepolicy .

Bug: 10020939
Change-Id: I9d4bbbd41cb02b707cdfee79f826a39c1ec2f177
2014-05-27 16:51:11 -07:00
Torne (Richard Coles) 234f696ea7 Add UID and directory for RELRO sharing support.
Define a UID to be used by the process responsible for creating shared
RELRO files for the WebView native library, and create a directory owned
by that UID to use to store the files.

Bug: 13005501
Change-Id: I5bbb1e1035405e5534b2681f554fe16f74e3da1a
2014-05-27 14:00:29 +01:00
Narayan Kamath 7cdbbcabda Add a zygote 64/32 bit config.
64 bit zygote is the "primary" and the system server is run
as a 64 bit process.

Change-Id: Ie1c2b0809faa92937bc407dd66e7a606ebb4f8f3
2014-05-21 11:20:42 +01:00
Dave Allison 50b6a4b1b7 Add LD_PRELOAD for libsigchain.so to the environment
To remove the need to modify the bionic dynamic linker, add the
signal chaining library as a preload in the environment.  This
will be picked up by the dynamic linker and will override
sigaction and sigprocmask to allow for signal chaining.

Change-Id: I6e2d0628b009bd01e0ed9aed0b311871b9c8363a
2014-05-15 20:35:11 -07:00
Narayan Kamath 75a8eeb1ec Merge "Change app_process reference to app_process32." 2014-05-15 09:36:33 +00:00
Sreeram Ramachandran e38d470714 Introduce fwmarkd: a service to set the fwmark of sockets.
(cherry picked from commit d5121e212c1f53b1cb6458ee83be892d94fdfef3)

Change-Id: Ieb049fe34ea2b21a7f6108f2099d1a8b8f2c28f7
2014-05-14 11:12:42 -07:00
Narayan Kamath b4932d592f Change app_process reference to app_process32.
Required due to change 5a7ee9ad63 which makes
app_process a symlink to the primary zygote.

Change-Id: I940f6302db97f74dd57112e310014e989dc586e5
2014-05-14 16:41:18 +01:00
Sreeram Ramachandran fd94922329 Set kernel proc files for fwmark reflection and table numbers for RAs.
(cherry picked from commit 2c2807ac1041751583e0c3b6892ca56eae423fa2)

Change-Id: I5f0d759cb9b8590555af7f5503f00d3e455ece54
2014-05-13 13:02:44 -07:00
Ruchi Kandoi 75b287b771 ueventd: Ueventd changes the permission of sysfs files for max/min
cpufreq

The owner and permissions for the sysfs file
/sys/devices/system/cpu*/cpufreq/scaling_max/min_freq is changed.
This would allow the PowerHAL to change the max/min cpufreq even after
the associated CPU's are hotplugged out and back in.

Change-Id: Ibe0b4aaf3db555ed48e89a7fcd0c5fd3a18cf233
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2014-05-01 17:30:41 +00:00
Narayan Reddy ce898489e4 rootdir: init.rc: update max TCP window sizes for mobile networks
GRPS: RTT=600ms, max tput=80kbps (class 12 GMSK 4+1)
EDGE: RTT=300ms, max tput=236kbps (class 12 8PSK)
UMTS: RTT=200ms, max tput=384kbps (R99)
HSDPA: RTT=75ms, max tput=14Mbps (cat 10)
HSUPA: RTT=50ms, max tput=14Mbps
HSPA: RTT=50ms, max tput=14Mbps
HSPA+: RTT=50ms, max tput=42Mbps (cat 20)
LTE: RTT=20ms, max tput=100Mbps (class 3)

bug 67569

Change-Id: I9d62359bbd11dc68e3649a7ea2295d0d4e25e3f2
Signed-off-by: Narayan Reddy <narayanr@nvidia.com>
Signed-off-by: Steve Lin <stlin@nvidia.com>
2014-04-18 19:19:44 +00:00
Narayan Kamath 822b1a024d Merge "Add a config for dual mode zygote." 2014-04-11 08:22:38 +00:00
Narayan Kamath 468b37c106 Add a config for dual mode zygote.
Note that init.zygote64.rc, which supports a "pure"
64 bit zygote is around only for testing.

The life cycles of both zygotes are controlled by init,
and the assumption here is that they will be available
always. We start the system_server in 32 bit mode.

Note that the distinction between "primary" and "secondary"
simply defines the order in which ABI support is queried,
there's no real requirement that the primary zygote supports
the primary ABI of the device.

bug: 13647418

Change-Id: Id0be001ea6f934c3c2022d89a63aae9fae66cc38
2014-04-10 10:45:37 +01:00
dcashman 5822a4af84 Enable world-readable selinuxfs policy binary.
Change-Id: I1eefb457cea1164a8aa9eeb7683b3d99ee56ca99
2014-04-07 14:05:43 -07:00
Narayan Kamath 5da2dbbc93 Merge "Move zygote init config to its own file." 2014-04-01 16:22:02 +00:00
Greg Hackmann a740b3bb40 Merge "rootdir: reduce permissions on /dev/rtc0" 2014-03-31 20:13:52 +00:00
Narayan Kamath 4456a55ce6 Move zygote init config to its own file.
This allows us to choose different configs depending on
whether or not the target is 64 capable, and what its preferred
default is.

bug: 13647418
Change-Id: Ie1ce4245a3add7544c87d27c635ee390f4062523
2014-03-31 12:31:11 +01:00
Greg Hackmann b34fed34af rootdir: reduce permissions on /dev/rtc0
Remove world-readable, reduce group permissions to readable by system
daemons

Change-Id: I6c7d7d78b8d8281960659bb8490a01cf7fde28b4
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-03-27 15:52:01 -07:00
Mark Salyzyn 3c253dc88f logd: core requirement
- has no dependency on /data, switch from main to core

Change-Id: I4bfe3e67d4cbd31e943c609f5626e533857a27a9
2014-03-21 16:06:54 -07:00
Mark Salyzyn 581edc1b6c set /proc/sys/net/unix/max_dgram_qlen to large value
- init: set /proc/sys/net/unix/max_dgram_qlen to 300
- libsysutils: Add listen backlog argument to startListener
- logd: set listen backlog to 300

Change-Id: Id6d37d6c937ba2d221e76258d89c9516619caeec
2014-03-03 12:48:00 -08:00
Nick Kralevich 9453bce4cf Merge "Apply restorecon_recursive to all of /data." 2014-02-26 21:36:30 +00:00
Mark Salyzyn 0175b0747a logd: initial checkin.
* Create a new userspace log daemon for handling logging messages.

Original-Change-Id: I75267df16359684490121e6c31cca48614d79856
Signed-off-by: Nick Kralevich <nnk@google.com>

* Merge conflicts
* rename new syslog daemon to logd to prevent confusion with bionic syslog
* replace racy getGroups call with KISS call to client->getGid()
* Timestamps are filed at logging source
* insert entries into list in timestamp order
* Added LogTimeEntry tail filtration handling
* Added region locking around LogWriter list
* separate threads for each writer
* /dev/socket/logd* permissions

Signed-off-by: Mark Salyzyn <salyzyn@google.com>

(cherry picked from commit 3e76e0a497)

Author: Nick Kralevich <nnk@google.com>
Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098
2014-02-26 09:52:35 -08:00
Dan Willemsen 78ef91aa5e Start debuggerd64 for 64-bit processes
Change-Id: I2fc33d9eb2726b043d2f13bfab0c605dbb6083c7
2014-02-16 11:30:27 -08:00
Stephen Smalley f2b7ee7655 Apply restorecon_recursive to all of /data.
With the following prior changes:
I77bf2a0c4c34b1feef6fdf4d6c3bd92dbf32f4a1
I698b1b2c3f00f31fbb2015edf23d33b51aa5bba1
I8dd915d9bb80067339621b905ea2b4ea0fa8d71e
it should now be safe (will correctly label all files)
and reasonably performant (will skip processing unless
file_contexts has changed since the last call) to call
restorecon_recursive /data from init.rc.

The call is placed after the setprop selinux.policy_reload 1 so that
we use any policy update under /data/security if present.

Change-Id: Ib8d9751a47c8e0238cf499fcec61898937945d9d
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-06 14:33:29 -05:00
Stephen Smalley 82e87ed479 Move creation of /data/misc/wifi and /data/misc/dhcp to main init.rc file.
mkdir /data/misc/wifi subdirectories and /data/misc/dhcp is performed
in the various device-specific init*.rc files but seems generic.
Move it to the main init.rc file.

Drop the separate chown for /data/misc/dhcp as this is handled by mkdir
built-in if the directory already exists.

Add a restorecon_recursive /data/misc/wifi/sockets.

Change-Id: I51b09c5e40946673a38732ea9f601b2d047d3b62
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-01-29 14:09:28 -05:00
Nick Kralevich d49aa2537c adbd: switch to su domain when running as root
When adbd runs as root, it should transition into the
su domain. This is needed to run the adbd and shell
domains in enforcing on userdebug / eng devices without
breaking developer workflows.

Introduce a new device_banner command line option.

Change-Id: Ib33c0dd2dd6172035230514ac84fcaed2ecf44d6
2014-01-22 14:20:17 -08:00
Stephen Smalley 9e9f05e5eb restorecon /data/misc/media.
Otherwise it will be mislabeled on upgrades with existing userdata.

Change-Id: Ibde88d5d692ead45b480bb34cfe0831baeffbf94
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-01-15 13:19:31 -05:00
Elliott Hughes bb07b536f5 Don't set LD_LIBRARY_PATH globally.
On a 64-bit system, 64-bit processes will want one path, 32-bit processes
another. The dynamic linker already provides the correct defaults for
native code, and we've coupled the VM and dynamic linker so that
LD_LIBRARY_PATH will be set correctly in any VM during startup if it's not
being manually overridden.

Change-Id: Icbffc0d451dbc242cdfb9267413d8bcac434e108
2014-01-13 16:49:54 -08:00
Colin Cross cd0f824a7c Merge "Fix tracing on user builds" 2014-01-09 17:50:34 +00:00
rpcraig 2dcbb81d89 Label existing /data/mediadrm files.
Use restorecon_recursive to label devices
where the directory and subfiles have
already been built and labeled.

Change-Id: I0dfe1e542fb153ad20adf7b2b1f1c087b4956a12
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-01-07 22:28:04 -05:00
Nick Kralevich 5b8abdf627 Merge "Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls." 2014-01-02 20:58:35 +00:00
Stephen Smalley 5e1461dc90 Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
If checkreqprot == 1, SELinux only checks the protection flags passed
by the application, even if the kernel internally adds PROT_EXEC for
READ_IMPLIES_EXEC personality flags.  Switch to checkreqprot == 0
to check the final protection flags applied by the kernel.

Change-Id: Ic39242bbbd104fc9a1bcf2cd2ded7ce1aeadfac4
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-12-23 16:29:25 -05:00
Stephen Smalley 610653fe93 Run the console service shell in the shell domain.
This allows it to be permissive in userdebug/eng builds
but confined/enforcing in user builds.

Change-Id: Ie322eaa0acdbefea2de4e71ae386778c929d042b
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-12-23 14:11:44 -05:00
Greg Hackmann a585e662e0 rootdir: add permissions for /dev/rtc0
Change-Id: If9d853bdae2399b1e7434f45df375ba1fd6dbe9c
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2013-12-17 14:45:39 -08:00
Nick Kralevich 354e9edbd7 Relabel /data/misc/zoneinfo
The files in zoneinfo changed from system_data_file to
zoneinfo_data_file. Fixup pre-existing files.

Change-Id: Idddbd6c2ecf66cd16b057a9ff288cd586a109949
2013-12-13 16:03:48 -08:00
Stephen Smalley 17bec835d5 Do not change ownership on /sys/fs/selinux/enforce.
There is no longer any reason to permit system UID to set enforcing mode.

Change-Id: Ie28beed1ca2b215c71f2847e2390cee1af1713c3
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-12-09 10:23:16 -05:00
The Android Open Source Project 7fc7a07b23 Merge commit '252d9030cd4b2e3e6cf13fa33f328eccedb5e26c' into HEAD 2013-12-05 12:38:34 -08:00
Carton He dd8fddd503 Fix tracing on user builds
Need the set correct permission for print-tgid option or tracing of
sched can't work on user build.

Change-Id: Ia88aabe58128b911afd78f01c27f7da884ed03f0
Signed-off-by: Carton He <carton.he@marvell.com>
2013-12-05 14:24:03 +08:00
Greg Hackmann 95b348c5d7 rootdir: add ueventd.rc rule for adf subsystem
Change-Id: I727d91355229692c11e0e309c0fcac051269eba3
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2013-11-26 13:18:26 -08:00
The Android Open Source Project 66ed50af68 Merge commit '536dea9d61a032e64bbe584a97463c6638ead009' into HEAD
Change-Id: I5c469a4b738629d99d721cad7ded02d6c35f56d5
2013-11-22 13:44:43 -08:00
Elliott Hughes 4a4616f645 am 048bb92f: Merge "split setptop ethernet tcp buffer from wifi"
* commit '048bb92f3f33196d96a51b446c73805e208a5333':
  split setptop ethernet tcp buffer from wifi
2013-11-20 18:10:49 -08:00
Jianzheng Zhou 52ea510f8f split setptop ethernet tcp buffer from wifi
Change-Id: I0582ec75fddb904ca14b9cbddf593ddbd4195c41
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2013-11-15 13:44:00 +08:00
Jeff Sharkey 9b41f45201 am a9e453f1: Merge "vold no longer does MS_MOVE; remove tmpfs." into klp-dev
* commit 'a9e453f1b552699f69dca19599c7624a581089bd':
  vold no longer does MS_MOVE; remove tmpfs.
2013-10-17 18:48:45 -07:00
Jeff Sharkey 00c8e1a219 vold no longer does MS_MOVE; remove tmpfs.
MS_MOVE was used when staging external storage devices, which no
longer occurs.  In fact, having a writable tmpfs was masking a vold
bug around moving apps to SD cards.

Bug: 11175082
Change-Id: Ib2d7561c3a0b6fde94f651a496cb0c1f12f88d96
2013-10-17 16:47:20 -07:00
Jeff Sharkey a5fdea7189 am e93a0517: Set GID required to write, media_rw mount point.
* commit 'e93a0517f4c88310066ac39c6b268ebfcceef44e':
  Set GID required to write, media_rw mount point.
2013-10-08 14:12:38 -07:00
Jeff Sharkey e93a0517f4 Set GID required to write, media_rw mount point.
Add sdcard FUSE daemon flag to specify the GID required for a package
to have write access.  Normally sdcard_rw, but it will be media_rw
for secondary external storage devices, so DefaultContainerService
can still clean up package directories after uninstall.

Create /mnt/media_rw which is where vold will mount raw secondary
external storage devices before wrapping them in a FUSE instance.

Bug: 10330128, 10330229
Change-Id: I4385c36fd9035cdf56892aaf7b36ef4b81f4418a
2013-10-08 12:56:37 -07:00
Colin Cross ad2961397f am 410f8c30: am 79b277ab: Merge "Set security context of /adb_keys and /data/misc/adb/adb_keys."
* commit '410f8c305b416484f17f068c37b785605a2f69eb':
  Set security context of /adb_keys and /data/misc/adb/adb_keys.
2013-10-03 15:15:43 -07:00
Alex Klyubin ea1f56e7ff am b1dd1765: am b42fc74f: Merge "Expose /dev/hw_random to group "system"."
* commit 'b1dd176520896efacbabd1df65d8bb56e1bfeb71':
  Expose /dev/hw_random to group "system".
2013-10-03 15:15:43 -07:00
Colin Cross 410f8c305b am 79b277ab: Merge "Set security context of /adb_keys and /data/misc/adb/adb_keys."
* commit '79b277ab73711313690d03a9fb2e9cb3f9242b39':
  Set security context of /adb_keys and /data/misc/adb/adb_keys.
2013-10-03 15:14:14 -07:00