Commit Graph

109 Commits

Author SHA1 Message Date
Elliott Hughes a613844e13 am e07a6e63: am 6d9a5ac3: Merge "[MIPSR6] Skip pixelflinger, memset assembler code on mips32r6"
* commit 'e07a6e6337a959c45ab71acf6ff1fad8a8ac5dfd':
  [MIPSR6] Skip pixelflinger, memset assembler code on mips32r6
2014-08-05 21:43:16 +00:00
Duane Sand 734f50c2fe [MIPSR6] Skip pixelflinger, memset assembler code on mips32r6
Temporarily use generic C-coded libpixelflinger & memset on mips32r6.

Change-Id: I629b11ba955eaba323cba1df96c39f75f4d24d62
2014-07-31 16:21:16 -07:00
Nick Kralevich b14ab71f0e am 0487e50a: am 24fc60c7: am 304d31f0: Merge "Make su 04750"
* commit '0487e50accf44f13acafad5fb5d76b4958d86550':
  Make su 04750
2014-06-11 20:24:20 +00:00
Nick Kralevich c3df8d7562 Make su 04750
Currently, /system/xbin/su is world executable. Prior to SELinux
enforcement, anyone (including third party apps) could run su.
The su code itself checks to see if the calling UID is root or shell.

Rather than relying on enforcement within the su binary, modify the
binary so it has group=shell, and remove world-execute permission.
This helps avoid some annoying SELinux denial messages as third party
apps call su on userdebug/eng builds.

Change-Id: I61c9231bb7e201d14ee3a5b6fe81b3fa7b12599f
2014-06-08 15:14:42 -07:00
Robin Lee f086a8134c am 63cdd840: am e948c9fa: am 489797c2: Merge "Add new AID shared by all apps in a profile"
* commit '63cdd840f81839bf6ce6e3723c42f09256cf4b3e':
  Add new AID shared by all apps in a profile
2014-06-04 19:06:23 +00:00
Robin Lee 489797c2cb Merge "Add new AID shared by all apps in a profile" 2014-06-04 18:45:02 +00:00
Torne (Richard Coles) f9ff246dd7 am 4f3ad823: am a8329a36: am 96109cf3: Merge "Add UID and directory for RELRO sharing support."
* commit '4f3ad823eaf97fcbcbb1afac67371aff76677b1d':
  Add UID and directory for RELRO sharing support.
2014-05-28 18:02:24 +00: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
Robin Lee b3ef03951c Add new AID shared by all apps in a profile
Automatically assigned as a GID to all apps running under the same
Android profile. Used for exposing to or sharing files with apps
running in a specific profile.

Analogous to AID_SHARED_GID only the sharing is between processes with
the same userId rather than with the same appId.

The name to be displayed for uids/gids with this AID is 'u*_everyone'.

Change-Id: I46efb749f74cb86868c5609a0ce1a6aab2f9e9c9
2014-04-29 12:46:04 +01:00
Narayan Kamath 8d56ff5d12 am c5aff686: am cda31324: am 4706320e: Merge "Include 64bit valgrind in the android_filesystem_config."
* commit 'c5aff68693dee788a28a0d0256782cc8521aa2a5':
  Include 64bit valgrind in the android_filesystem_config.
2014-04-14 16:05:11 +00:00
Narayan Kamath 6b7ab90ca9 Include 64bit valgrind in the android_filesystem_config.
Required so that we set the exectuable bit correctly.

Change-Id: If59bd0ff47d2b4b2b8f92a1c007b4ba414ea1876
2014-04-12 09:11:16 +01: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
Nick Kralevich 3e76e0a497 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>

Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098
2014-02-14 11:07:54 -08:00
Doug Zongker 9526202d84 set permissions of recovery install script
The script that writes the recovery partition after a successful
update of system needs to be made executable.  This change also moves
it from /system/etc to /system/bin.

Bug: 12893978
Change-Id: I686e2392a2392515a6859a7381b735de1007b7ea
2014-02-04 12:33:08 -08:00
Doug Zongker 7baebf1345 add the pre-recovery service
Add a service called "pre-recovery" which is normally stopped but can
be started by the system server when we want to go into recovery.  It
will do any preparation needed (currently needed to handle update
packages that reside on an encrypted /data partition) and then set
sys.powerctl when it's ready to actually reboot.

Bug: 12188746
Change-Id: I894a4cb200395a0f6d7fe643ed4c2ac0a45d2052
2014-01-16 08:54:59 -08:00
Elliott Hughes fed76f8515 am 63824e92: am 980093ca: am 348856fa: am 532f4658: Merge "AArch64: Correction of struct surface_t"
* commit '63824e923aca6fe15942beee00b258ea6119e459':
  AArch64: Correction of struct surface_t
2013-12-16 20:03:17 +00:00
Elliott Hughes c29664284b am 49a88c3c: am 410a1966: am fd382f2e: am fd7eabe4: Merge "Pixelflinger: Add AArch64 support to pixelflinger JIT."
* commit '49a88c3cf38e9c17a756434880fb01971018a9c6':
  Pixelflinger: Add AArch64 support to pixelflinger JIT.
2013-12-16 19:55:21 +00:00
Elliott Hughes 532f465823 Merge "AArch64: Correction of struct surface_t" 2013-12-16 19:50:17 +00:00
Elliott Hughes 260854c0b0 am ed20fef0: am a99f0b6e: am 5b8daae0: am a67b39cb: Merge "Pixelflinger: Fix issue of pointers being stored in ints"
* commit 'ed20fef0630d02395abab6a073a5717ddfbfaa8d':
  Pixelflinger: Fix issue of pointers being stored in ints
2013-12-12 21:33:04 +00:00
Ashok Bhat 658f89dc5c Pixelflinger: Add AArch64 support to pixelflinger JIT.
See the comment-block at the top of Aarch64Assembler.cpp
for overview on how AArch64 support has been implemented

In addition, this commit contains
[x] AArch64 inline asm versions of gglmul series of
    functions and a new unit test bench to test the
    functions

[x] Assembly implementations of scanline_col32cb16blend
    and scanline_t32cb16blend for AArch64, with unit
    test bench

Change-Id: I915cded9e1d39d9a2a70bf8a0394b8a0064d1eb4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2013-12-12 17:30:13 +00:00
Ashok Bhat d10afb1748 Pixelflinger: Fix issue of pointers being stored in ints
Pixelflinger's code makes assumptions, at certain places,
that pointers can be stored as ints. This patch makes use
of uintptr_t wherever pointers are stored as int or cast
to int.

Change-Id: Ie76f425cbc82ac038a747f77a95bd31774f4a8e8
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2013-12-12 17:30:13 +00:00
Marcus Oakland 6053564160 AArch64: Correction of struct surface_t
The struct in the union with GGLSurface in struct surface_t assumed
that the reserved field, which corresponds to the GGLsizei version
field in the GGLSurface structure (where GGLsizei is define as being
ssize_t in the system/core/include/pixelflinger/pixelflinger.h header
file) is uint32_t. That is appropriate to the 32-bit system but is
not appropriate to the 64-bit system, where ssize_t is 64-bits rather
than 32-bits.

The 32-bit system has also been tested and has no regression
because of this change.

Change-Id: I5cd84fd4a18fa0e63e27975f7b3d3e95b99cea58
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2013-12-10 18:13:26 +00:00
Todd Poynor fea5b4d44b healthd: move charger executable to healthd charger mode
* Add healthd charger mode ops
* Check for executable invocation as "charger", set charger mode if so
* Incorporate charger executable as healthd charger mode

Change-Id: I4a44e7a4c3a65ae9be94491f7f498aa48d4f8a84
2013-09-17 14:41:07 -07:00
Jeff Sharkey dfe0cbab3f Richer SD card permissions through FUSE.
Changes the FUSE daemon to synthesize an Android-specific set of
filesystem permissions, even when the underlying media storage is
permissionless.  This is designed to support several features:

First, apps can access their own files in /Android/data/com.example/
without requiring any external storage permissions.  This is enabled
by allowing o+x on parent directories, and assigning the UID owner
based on the directory name (package name).  The mapping from package
to appId is parsed from packages.list, which is updated when apps are
added/removed.  Changes are observed through inotify.  It creates
missing package name directories when requested and valid.

Second, support for separate permissions for photos and audio/video
content on the device through new GIDs which are assigned based on
top-level directory names.

Finally, support for multi-user separation on the same physical media
through new /Android/user/ directory, which will be bind-mounted
into place.  It recursively applies the above rules to each secondary
user.

rwxrwx--x root:sdcard_rw     /
rwxrwx--- root:sdcard_pics   /Pictures
rwxrwx--- root:sdcard_av     /Music

rwxrwx--x root:sdcard_rw     /Android
rwxrwx--x root:sdcard_rw     /Android/data
rwxrwx--- u0_a12:sdcard_rw   /Android/data/com.example
rwxrwx--x root:sdcard_rw     /Android/obb/
rwxrwx--- u0_a12:sdcard_rw   /Android/obb/com.example

rwxrwx--- root:sdcard_all    /Android/user
rwxrwx--x root:sdcard_rw     /Android/user/10
rwxrwx--- u10_a12:sdcard_rw  /Android/user/10/Android/data/com.example

These derived permissions are disabled by default.  Switched option
parsing to getopt().

Change-Id: I21bf5d79d13f0f07a6a116122b16395f4f97505b
2013-08-08 17:26:41 -07:00
Jeff Tinker 7629bf19a1 am 9e9ed1b4: am 131ee07b: Merge "Add a new group for MediaDrm engine plugins" into jb-mr2-dev
* commit '9e9ed1b40010745e709157a6977ba6d053d46c49':
  Add a new group for MediaDrm engine plugins
2013-04-24 21:56:49 -07:00
Jeff Tinker 131ee07b77 Merge "Add a new group for MediaDrm engine plugins" into jb-mr2-dev 2013-04-25 04:54:02 +00:00
Matthew Xie af1cbd4c10 am 0db6600a: am 7ee2e26e: Remove DBUS from make and header files
* commit '0db6600a60e8d604aaef5e43db9ae52ed7380979':
  Remove DBUS from make and header files
2013-04-24 14:24:30 -07:00
Jeff Tinker 08d64308b9 Add a new group for MediaDrm engine plugins
bug: 8702754
Change-Id: I3b7988b64b1dcf4685624e4c1af938e132b82696
2013-04-23 19:54:17 -07:00
Matthew Xie 7ee2e26eb9 Remove DBUS from make and header files
DBUS had been needed by bluetooth bluz stack. It is not needed after
we replaced bluez stack with bluedroid stack.
bug 6872904

Change-Id: I3fa41c1dd4ac80bc679d5950b3b20c7f6d12265f
2013-04-23 14:02:16 -07:00
Nick Kralevich ca8e66a8b0 Make init handle reboots
Move the responsibility for rebooting the system from the
reboot command to init. Init is in a better position to take
actions to bring the system down cleanly, including making sure
filesystems are mounted read-only.

The only UIDs which can perform an init triggered reboot are
root, system, and shell.

Modify the reboot command so that it calls into init to perform
the reboot. The reboot command no longer requires CAP_SYS_BOOT.

Remove the -n reboot option and code which supports it.  Anyone needing
to do an unclean shutdown can just do a 'echo c > /proc/sysrq-trigger'.

Modify adb so that it calls into init to perform a shutdown.

Bug: 8646621
Change-Id: I84c0513acb549720cb0e8c9fcbda0050f5c396f5
2013-04-23 13:21:40 -07:00
Benoit Goby c6d7e200ed toolbox: Make reboot a separate command from toolbox
Set the CAP_SYS_BOOT filesystem capability on the new reboot
command and keep CAP_SYS_BOOT in adb bounding set so that the
shell user can run it.

Change-Id: I1dd6143445ee2a952254f0452ab6e544318431dd
2013-03-26 12:24:10 -07:00
Colin Cross 0b56fc769d android_filesystem_config: add /vendor
Make /vendor have the same permissions as /system/vendor for devices
that have a vendor partition.

Bug: 8341435
Change-Id: I077a2caf9da41fc072a4d3e334be28c24b70c7cd
2013-03-20 19:06:11 +00:00
Nick Kralevich fe8135739c android_filesystem_config.h: change ping and run-as
/system/bin/ping no longer requires CAP_NET_RAW, as we're now
using IPPROTO_ICMP. Please see the following for more details:

* http://lwn.net/Articles/443051/
* https://android-review.googlesource.com/52090
* https://android-review.googlesource.com/52072

We can now make ping a normal, unprivileged program.

/system/bin/run-as only requires CAP_SETUID and CAP_SETGID.
Explicitly set the capabilities of this file, and remove
the setuid bit.

This is equivalent to running the following commands:

  * chmod 750 /system/bin/run-as
  * chown root:shell /system/bin/run-as
  * setcap cap_setgid,cap_setuid+ep /system/bin/run-as

Change-Id: I65df858b45e6de4e2190ac9d6d592c06ea9d28cf
2013-03-01 13:18:41 -08:00
Nick Kralevich bb05a92cb1 fix mac sdk build.
For now, remove linux/capability.h . We're haven't started using
capabilities yet, and this file doesn't exist on mac builds.

Change-Id: Id6ec7fdb408bcdfdd538dac65187194c8ee226ff
2013-02-22 20:32:35 -08:00
Nick Kralevich e9e74f3c88 Add support for filesystem capabilities.
Modify android_filesystem_config.h and add a capabilities
field. This field can be used to add filesystem capabilities
to a particular file.

Change-Id: If8953a322457ea7275aa6df75660b714e6dc678a
2013-02-20 12:51:28 -08:00
Doug Zongker 8cc97302b2 resolved conflicts for merge of 0fe9742e to jb-mr1-dev-plus-aosp
Change-Id: Ie7a8b642dec0f07d4c8bfd9d8f736fd66c4febe0
2013-01-29 10:50:22 -08:00
Doug Zongker 0fe9742e38 add AID_LOOP_RADIO for control of loop radio device
Change-Id: I1e996dfbaa0f187ec87b5318a214ab0b852193cc
2013-01-29 10:37:51 -08:00
Colin Cross 04aaf5a424 android_filesystem_config: allow absolute paths
SELinux policies use absolute paths, allow absolute paths in fs_config
as well.

Change-Id: Ic97ee0b4eb4df9eac965a8e819fde01df473de7e
2012-12-21 12:51:17 -08:00
jp abgrall 3ddc0059bb am ee854b07: Merge "Allocate a UID for clatd"
* commit 'ee854b077766a85279fa1849b537c50837d1a204':
  Allocate a UID for clatd
2012-11-12 15:57:02 -08:00
Daniel Drown b49183f122 Allocate a UID for clatd
clatd(464xlat) runs as its own UID after it drops root privs

Change-Id: I2392f8127dcd90d16b0f20ff31bcc5aa096db464
Signed-off-by: Daniel Drown <dan-android@drown.org>
2012-10-15 20:22:53 -05:00
Matthew Xie 971153aa4a Create bluetooth stack aid for sharing gid between all bluetooth processes
bug 6925422

Change-Id: I8d371f8307dd6bea3909a56643819413ea829a98
2012-10-04 12:38:51 -07:00
Zhihai Xu c2f59d87d8 ISSUE 6849488 Bluedroid stack, remove system/bluetooth.
remove system/bluetooth stuff.

bug 6849488
Change-Id: I81a94d34a4363562a74fa2e574828fd919cfe18c
2012-09-20 10:55:06 -07:00
Kenny Root 7e41c8420e Add shared app gid to fs config
This will allow native tools to be able to know where the shared app
gids start and end.

Change-Id: Ie4529baf36b361c51c42f079b259c352e316647f
2012-09-13 11:23:55 -07:00
Elliott Hughes 605f8706c8 Merge "Add Mips architecture to system/core/include" 2012-08-11 09:56:47 -07:00
Duane Sand 096041174b Add Mips architecture to system/core/include
Change-Id: Ief7bdbd8d09cabe3f11f3ed47a932a7faa81cad9
2012-05-29 16:18:42 -07:00
Doug Zongker 0e6056d012 change /fstab.* perms to 0640
It's safe to change the permissions on files in the root partitions;
incremental OTA now knows how to handle this case.

This reverts commit 08c370cc50.

Change-Id: I503bf8ebd037fa9715494c6539e5430eee47acfe
2012-05-07 16:49:24 -07:00
Doug Zongker 08c370cc50 change /fstab.* perms back to 0644, to unbreak incremental OTAs
Change-Id: I21a991148fd1de604ecf87abad0b49970d2abe84
2012-05-03 14:16:54 -07:00
Ken Sumrall c1bf89663c A filesystem manager library to mount filesystems for init.
Instead of specifying in init what to mount, and having various hacks in init
itself to deal with encryption, use a filesystem manager library to do the
work, that can also be invoked by vold when mounting an encrypted volume.
Keep all the magic filesystem info an a device specific fstab file.

Change-Id: Ib988f1e4fb0638ba1d5fd98407fa6d8cf862aaca
2012-05-01 13:14:14 -07:00
Robert Greenwalt 1d91fcf7c0 Add MDNS service
Adds both the new service and another socket for netd.

Change-Id: Ie0271a2c48aa55217ae3fcdcc8e121b86b5a589b
2012-04-06 15:38:21 -07:00
Dianne Hackborn 5d3aadbeca Forget name for AID_SDCARD_R.
Change-Id: Ib65fdf4211bef77057009e31295e610f8ba64b44
2012-03-12 11:15:38 -07:00