Commit graph

5588 commits

Author SHA1 Message Date
Christopher Ferris
71a8aa3473 Merge "Update comment from review." 2013-09-30 18:21:15 +00:00
Christopher Ferris
474afff229 Update comment from review.
Missed this typo that enh pointed out.

Bug: 8410085
Change-Id: Ic636ae218fc153bc5e3b1a0fdc2f7161980e5eec
2013-09-30 11:16:17 -07:00
Christopher Ferris
f41cf2086d Merge "Create a single backtrace library." 2013-09-30 18:02:54 +00:00
Christopher Ferris
7fb22878d4 Create a single backtrace library.
This library will be used to abstract away getting backtrace
data from how it is implemented. This is the first step to
replacing libcorkscrew with libunwind.

Bug: 8410085
Change-Id: Ie8f159e96a055d378e1ddc72d40239fba4cf52b7
2013-09-28 12:26:35 -07:00
Ying Wang
aa62be65ed Merge "Use SSE2 enhanced memset for capable x86 processors" 2013-09-26 17:08:02 +00:00
jp abgrall
9196266939 Merge "cutils: list: add list_for_each_safe" 2013-09-25 18:31:44 +00:00
Kenny Root
e245b8fb5d Merge changes I9f858204,Ib35643b3
* changes:
  mincrypt: merge the two RSA verifiers
  mincrypt: support SHA-256 hash algorithm
2013-09-25 16:31:44 +00:00
Doug Zongker
0a862dcd63 mincrypt: merge the two RSA verifiers
The e=3 and e=65537 implementations are nearly identical, refactor
them down into one.

(cherry picked from commit 8fdbf97652)

Change-Id: I9f858204d52a0ae880170d955bf8f29fed57ee94
2013-09-25 09:26:51 -07:00
Doug Zongker
8e5b63d045 mincrypt: support SHA-256 hash algorithm
- adds a library to compute the SHA-256 hash

- updates the RSA verifier to take an argument specifying either SHA-1
  or SHA-256

- updates DumpPublicKey to with new "key" version numbers for
  specifying SHA-256

- adds new argument to adb auth code to maintain existing behavior

(cherry picked from commit 515e1639ef)

Change-Id: Ib35643b3d864742e817ac6e725499b451e45afcf
2013-09-25 09:26:34 -07:00
Benoit Goby
f2c4c4ada7 Merge "init: Fix queue_all_property_triggers with nonexistent properties" 2013-09-24 23:10:44 +00:00
Benoit Goby
d679e1b572 init: Fix queue_all_property_triggers with nonexistent properties
Don't queue actions for "on property=*" if the property does not exist.
This fixes these errors on boot:

    init: property 'sys.powerctl' doesn't exist while
    expanding '${sys.powerctl}'
    init: powerctl: cannot expand '${sys.powerctl}

Change-Id: I3bd354d73a860f856be5df2c654f940445f9efd9
2013-09-24 15:20:34 -07:00
Daniel Leung
51546ee32c Use SSE2 enhanced memset for capable x86 processors
Originally, if TARGET_ARCH_VARIANT is x86-atom, the SSE2 enhanced
memset is used. This patch extends this to all x86 processors which
support SSE2 (i.e. ARCH_X86_HAVE_SSE2 is true).

Indentation added to the ifeq cases to make this easier to read.

Change-Id: I05f49e237a95359d3f2e3216b037e3fc1a0fbcb0
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-24 12:53:18 -07:00
Elliott Hughes
3c8bdef029 Merge "libsparse: Use BIONIC implementation of mmap64()" 2013-09-19 21:22:47 +00:00
Nick Kralevich
0f507339ec Merge "Do not change ownership of /sys/fs/selinux/load to system UID." 2013-09-19 15:47:53 +00:00
Stephen Smalley
cc13e8ab87 Do not change ownership of /sys/fs/selinux/load to system UID.
Policy reload is handled by setting the selinux.reload_policy property
and letting the init process perform the actual loading of policy into
the kernel.  Thus, there should be no need for the system UID to directly
write to /sys/fs/selinux/load.

Change-Id: I240c5bb2deaee757a2e1e396e14dea9e5d9286f5
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-09-19 11:26:26 -04:00
Elliott Hughes
a208ea6301 Merge "Fix fstab memory leak" 2013-09-18 23:35:01 +00:00
Irina Tirdea
d431b8d7f1 Fix fstab memory leak
When reading the fstab config file fails, fstab memory is not freed.
When fstab structure is no longer needed, only half of it is freed.

Free fstab memory in all cases (error or when it is no longer needed).

Change-Id: Ib0758a5aaa69505285bf64143632986a2dbbdccb
Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
2013-09-18 16:34:02 -07:00
Elliott Hughes
810ff69609 Merge "Cleanup fs_getline from fs_mgr" 2013-09-18 23:26:50 +00:00
Daniel Leung
fccfa414c9 libsparse: Use BIONIC implementation of mmap64()
Change-Id: I63692629d3a62b7aee21202b67241904b1cc9789
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2013-09-18 14:42:28 -07:00
Colin Cross
36b39a97f3 Merge "init: Fix get_hardware_name() to cope with long /proc/cpuinfo output" 2013-09-18 21:38:33 +00:00
Irina Tirdea
e16d747b51 Cleanup fs_getline from fs_mgr
Since getline is included in bionic, fs_mgr can use this version instead of
the one defined internally by fs_getline.

Replace fs_getline with getline.

Change-Id: I49b53d639bd995f051256fb7573ff6ab45d9c36d
Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
2013-09-18 22:55:51 +03:00
jp abgrall
4a280e3dbe Merge "Don't use control requests to read device serial numbers." 2013-09-17 21:15:12 +00:00
Mark Wachsler
bd446c76f3 Don't use control requests to read device serial numbers.
Instead of sending control requests to all devices to read their serial
numbers, read the cached strings from sysfs. This fixes two problems:
1) The control requests sometimes timed out, causing devices to show up
as "????????????????", and 2) a control request could mess up devices
which were in the middle of being flashed.

Also enumerate by walking sysfs rather than devs so that we can avoid
opening host controller devices, which can be slow. On a system with 10
EHCI controllers, fastboot devices now takes 7 msec instead of 700 msec.

Change-Id: I2ad2d58b48268d7950bd279fd6a6753dc2f79514
2013-09-16 18:08:07 -04:00
Dima Zavin
6ed51b8a2d Merge "mkbootimg: support longer kernel command lines" 2013-09-13 16:37:47 +00:00
Dima Zavin
b4819e4ada Merge "init: support longer command lines" 2013-09-13 16:36:24 +00:00
Andrew Boie
30fb83b6e5 cutils: list: add list_for_each_safe
For when you want to modify the list whilst iterating over it.

Change-Id: I84432892890987c218e56883c35e52c9ff0240a3
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-12 15:30:40 -07:00
Andrew Boie
d35ce3563b mkbootimg: support longer kernel command lines
We can't simply increase the value of BOOT_ARGS_SIZE since that
would break past binary compatibility; the offset of 'id' would
change. This can cause serious problems with incremental OTA updates.

Instead, define a supplemental field which stores command line
information beyond the first 512 bytes. A value of 1024 was chosen
to keep the total size of struct boot_img_hdr under the smallest
page size of 2048 bytes.

Even if the extra_cmdline field is used, the original cmdline
field is still always NULL-terminated to avoid issues with older
bootloaders that haven't been updated.

Change-Id: I887e6f1db351a5b71a61e3a03363cf8856123d74
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-09 13:13:33 -07:00
Andrew Boie
2e63e71f31 init: support longer command lines
The Linux kernel supports command lines up to 2048 bytes on x86,
see COMMAND_LINE_SIZE in asm/setup.h.

If any androidboot.xxxx arguments were past the 1024 byte limit
here, they were lost.

Change-Id: I6247c511a7de04109490fffa0125801d274a5501
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-09 13:11:34 -07:00
Colin Cross
596e9c6314 Merge "fix valgrind ioctl warning." 2013-09-05 19:54:31 +00:00
Ben Cheng
2b2f1ae86f Merge "Add -Wno-unused-parameter to suppress the warning." 2013-09-04 21:03:05 +00:00
Ben Cheng
c665df33e0 Add -Wno-unused-parameter to suppress the warning.
For example in system/core/libcorkscrew/arch-arm/backtrace-arm.c:

system/core/libcorkscrew/arch-arm/backtrace-arm.c:555:49: error: unused
parameter 'siginfo' [-Werror=unused-parameter]

Change-Id: Ibe13e8761a2f57324c0f0d87d9add549a20aa37a
2013-09-04 13:51:36 -07:00
Colin Cross
d171b65670 Merge "[GNSS] Add AID_GPS to property user white list" 2013-09-04 00:09:30 +00:00
Nick Kralevich
531328400e Merge "init: call restorecon on /sys" 2013-09-03 23:41:26 +00:00
Nick Kralevich
8328edb0a7 Merge "init: allow disabling selinux via a kernel command line" 2013-09-03 23:41:19 +00:00
Nick Kralevich
b242339988 Merge "init: move SELinux into enforcing mode." 2013-09-03 23:41:09 +00:00
Nick Kralevich
ae76f6dbcf init: call restorecon on /sys
Not all files on /sys are not getting labeled properly. Fix them.

Change-Id: I9dcff76354e7f50d41f1b6e702836cfbbc149278
2013-09-03 15:55:58 -07:00
Nick Kralevich
935bd3e315 init: allow disabling selinux via a kernel command line
Create a new "androidboot.selinux" option, to control how userspace
handles SELinux. This kernel command line can have three options:

* disabled
* permissive
* enforcing

"disabled" completely disables userspace support for SELinux. No
policy is ever loaded, nor is the SELinux filesystem /sys/fs/selinux
ever mounted.

"permissive" loads the SELinux policy, but puts SELinux into
permissive mode. SELinux policy violations are logged, but not rejected.

"enforcing", the default, loads the SELinux policy, and places
SELinux into enforcing mode. Policy violations are rejected.

This change addresses post review comments for change
b710ed21de .

Change-Id: I912583db8e6a0e9c63380de32ad8ffc47a8a440f
2013-09-03 15:55:00 -07:00
Nick Kralevich
56fa0ac6b6 init: move SELinux into enforcing mode.
When init starts up, immediately put SELinux into enforcing mode.

This is currently a no-op. We currently have everything in the
unconfined domain, so this should not break anything.
(if it does, I'll roll it back immediately)

If the kernel doesn't have SELinux support compiled in, then
don't try loading a policy and continue without SELinux protections.

Change-Id: Id0279cf82c545ea0f7090137b7566a5bc3ddd641
2013-09-03 15:54:15 -07:00
Jin Wei
b815701247 fix valgrind ioctl warning.
Initialize local variable to avoid syscall ioctl warning.

Change-Id: Ibad5b86cd799f147c71f182d654e61318e2ac15e
Origin-Change-Id: Iedf5b128ae1743f633d2821ac3e402942ad6642b
Signed-off-by: Jin Wei <wei.a.jin@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 62797
2013-08-31 18:57:46 -04:00
Dima Zavin
b35f68a697 Merge "init: load factory properties" 2013-08-28 21:08:43 +00:00
Elliott Hughes
a7f6e015a5 Merge "correct msi usb vendor id." 2013-08-28 15:31:51 +00:00
astonehuang
48c5d7b6cd correct msi usb vendor id.
Change-Id: I13128531b8dd7758abddce47ce1c119381773c26
2013-08-28 10:53:17 +08:00
Elliott Hughes
2e5157fa05 Merge "Fix build with gcc-4.8 and array boundaries issue" 2013-08-27 17:12:01 +00:00
Benoit Goby
db71324a4f Merge "libusbhost: It's no longer assumed that "bus/usb" exists once "bus" was created" 2013-08-26 22:13:20 +00:00
Ziv Hendel
8cc80fc894 libusbhost: It's no longer assumed that "bus/usb" exists once "bus" was created
On some devices there is a slight delay between the creation of "/dev/bus"
and "/dev/bus/usb". Previously, the code assumed that both are created in the
same time which caused "watch_existing_subdirs" to fail and libusbhost to stop
working until the device is rebooted. The fix will setup an inotify event on the
creation of the "bus/usb" so it will not be missed once it's created.

Change-Id: I17f06dd167e61573307425e48898e12ebc954093
2013-08-26 14:56:39 -07:00
Nicolas SUET
841859f79f [GNSS] Add AID_GPS to property user white list
Add "gps." and "persist.gps." to property_perms white list.

Change-Id: I7177170676d774c87e08d1548f5264ac27cba3ff
Orig-Change-Id: I7a94caa26be4aefd2fe4f155908e2f8f09858bee
Signed-off-by: Nicolas SUET <nicolas.suet@intel.com>
Signed-off-by: jerome Pantaloni <jeromex.pantaloni@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 118091
2013-08-26 16:20:18 -04:00
Colin Cross
a8ba1f2f0b Merge "Add support for socket security context specification." 2013-08-24 00:12:03 +00:00
Colin Cross
d8d99c45b7 Merge "Handle policy reloads within ueventd rather than restarting it." 2013-08-23 21:31:26 +00:00
Stephen Smalley
8348d279c7 Add support for socket security context specification.
Add an optional argument to the socket option for specifying
a SELinux security context for the socket.  Normally the socket
security context is automatically computed from the service security
context or set using the seclabel option, but this facility allows
dealing with two scenarios that cannot be addressed using the existing
mechanisms:
1) Use of logwrapper to wrap a service.
In this case, init cannot determine the service security context
as it does not directly execute it and we do not want logwrapper
to run in the same domain as the service.

2) Situations where a service has multiple sockets and we want to
label them distinctly.

Change-Id: I7ae9088c326a2140e56a8044bfb21a91505aea11
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-08-23 08:35:43 -04:00
Andrew Boie
3899f522f1 init: load factory properties
These properties are typically set at device provisioning time
or in the factory. They contain unit-specific data that isn't
touched by software updates or factory data reset. Only
read-only properties can be read by this mechanism.

Change-Id: Ifff9184f039072c3c0ce99f825c3075afb524514
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-08-20 11:47:55 -07:00