Commit graph

45478 commits

Author SHA1 Message Date
Joel Fernandes
b03663ebdf Merge changes from topic "memfd-support"
am: 3133b695e0

Change-Id: If70d5632834e2772157ee1dd27fd38cbe4aa5f00
2019-02-07 06:23:51 -08:00
Joel Fernandes
3133b695e0 Merge changes from topic "memfd-support"
* changes:
  init: set the sys.use_memfd property to false
  Add support for memfd
2019-02-07 14:17:13 +00:00
Martin Stjernholm
76ea084a85 Merge "Add some overview docs for classloader-namespace."
am: d338c1f8e6

Change-Id: I2fca58806fc11b7bc3b6cbb695c0d7bd4b00bed8
2019-02-06 21:42:38 -08:00
Treehugger Robot
d338c1f8e6 Merge "Add some overview docs for classloader-namespace." 2019-02-07 05:35:46 +00:00
Suren Baghdasaryan
71eee1e10c Merge "libprocessgroup: Fix file mode parsing that requires octal values"
am: 3a22225ac6

Change-Id: I3fbd65934177bc0fee7200562e925ca22a45de95
2019-02-06 21:06:32 -08:00
Suren Baghdasaryan
3a22225ac6 Merge "libprocessgroup: Fix file mode parsing that requires octal values" 2019-02-07 04:54:28 +00:00
Suren Baghdasaryan
e401604868 Merge "libprocessgroup: Fix cgroup directory ownership setup"
am: 40673c9250

Change-Id: Ib1441b21b326f2033488e42b8f818768c947c28c
2019-02-06 17:55:36 -08:00
Suren Baghdasaryan
40673c9250 Merge "libprocessgroup: Fix cgroup directory ownership setup" 2019-02-07 01:42:00 +00:00
Joel Fernandes
ae7f052328 init: set the sys.use_memfd property to false
The sys.use_memfd property is set by default to false in Android
to temporarily disable memfd, till vendor and apps are ready for it.
The main issue: either apps or vendor processes can directly make ashmem
IOCTLs on FDs they receive by assuming they are ashmem, without going
through libcutils. Such fds could have very well be originally created with
libcutils hence they could be memfd. Thus the IOCTLs will break.

Set default value of sys.use_memfd property to true once the issue is
resolved, so that the code can then self-detect if kernel support is present
on the device. The property can also set to true from adb shell, for
debugging.

Bug: 113362644

Change-Id: I0f572ef36cac2a58fe308ddb90bbeffbecdaed3b
Signed-off-by: Joel Fernandes <joelaf@google.com>
2019-02-07 00:40:22 +00:00
Joel Fernandes
519440468b Add support for memfd
This patch adds support to make libcutils create and use memfd where
possible, instead of ashmem.

The libcutils library is made dynamic, since apps are still sending over
ashmem FDs to processes and we are working on moving those apps away
from ashmem. The best we can do for that is make the library work, and
force apps in the long run to move away from directly using ashmem.

Due to further complications mentioned in the 'NOTE' section of the
patch, memfd is kept disabled for now, so nothing changes yet. To enable
it, set the sys.use_memfd property (check user_debug build).

Bug: 113362644
Change-Id: I491cb7841b664db5b1c26b3e07a440a14810e182
Signed-off-by: Joel Fernandes <joelaf@google.com>
2019-02-07 00:40:13 +00:00
Tom Cherry
212343f813 Merge "init: allow services to have no capabilities set"
am: 500b6c0e86

Change-Id: I098343aab9180998fac51d18ed3ee7440997aaa4
2019-02-06 16:10:49 -08:00
Tom Cherry
500b6c0e86 Merge "init: allow services to have no capabilities set" 2019-02-06 23:48:36 +00:00
Suren Baghdasaryan
e3ad888011 libprocessgroup: Fix cgroup directory ownership setup
When cgroup directory is created its user and ownership gets set, however
because previous code was storing getpwnam() return value the second
invocation would effectively override the previous ones result. Fix this
by copying necessary results. Also change getpwnam() to getgrnam() when
group name is converted into gid. getpwnam() works because of the way
Android uses these ids, however more generally this is incorrect and
getgrnam() should be used instead.

Bug: 111307099
Test: verified user/group membership of the cgroup directories
Change-Id: I78668bc1a36a74f53d8e9825e2d06e3e09501e7a
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-02-06 14:28:23 -08:00
Martin Stjernholm
b78f6ec7ef Add some overview docs for classloader-namespace.
Courtesy of jiyong@.

Test: n/a
Change-Id: I4ee239c63a5b5f90516b05af25b32ff22b147d53
2019-02-06 21:51:27 +00:00
Suren Baghdasaryan
c760231891 libprocessgroup: Fix file mode parsing that requires octal values
JSON supports only decimal values and therefore file mode which should
use octal values has to be represented as strings. Fix the implicit
octal-to-decimal conversion and convert from string to octal in the code.

Bug: 111307099
Test: confirmed by verifying correct file permissions

Change-Id: I3ef9de0aea259f93bf74efeffca72d37d4740e15
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-02-06 21:01:41 +00:00
Tom Cherry
1cd082d421 init: allow services to have no capabilities set
In particular, this allows services running as the root user to have
capabilities removed instead of always having full capabilities.

Test: boot device with a root service with an empty capabilities
      option in init showing no capabilities in /proc/<pid>/status
Change-Id: I569a5573ed4bc5fab0eb37ce9224ab708e980451
2019-02-06 11:25:18 -08:00
Mark Salyzyn
50574de69a Merge "fs_mgr: fstab: logspam from empty flags"
am: bece53e515

Change-Id: I8eca014677db5693d48f8ea49d1edf303cf23a54
2019-02-06 10:07:43 -08:00
Treehugger Robot
bece53e515 Merge "fs_mgr: fstab: logspam from empty flags" 2019-02-06 17:59:42 +00:00
Nikita Ioffe
2d3aeba767 Merge "apexd: Create top-level /data/apex folders at boot"
am: 4fdc2ce2bb

Change-Id: I7ad1aaf6ffe09f5124c0d749bd90b58f6d1d47ce
2019-02-06 09:11:22 -08:00
Treehugger Robot
4fdc2ce2bb Merge "apexd: Create top-level /data/apex folders at boot" 2019-02-06 16:58:23 +00:00
Greg Kaiser
57fd5a23c5 Merge "libprocessgroup: Disable file descriptor caching temporarily"
am: 54801442bd

Change-Id: I9a266067010f2eb69711c089dc70c58cdf481062
2019-02-06 05:59:32 -08:00
Greg Kaiser
54801442bd Merge "libprocessgroup: Disable file descriptor caching temporarily" 2019-02-06 13:48:03 +00:00
Nikita Ioffe
bc744dc98f apexd: Create top-level /data/apex folders at boot
- package manager needs to read from /data/apex/active, hence 0750
- both /data/apex/backups and /data/apex/sessions are internal to apexd,
  hence 0700

Bug: 123927167
Fixes: 123927167
Test: apex_e2e_tests, flashall -w & checked folders were created
Change-Id: I06c28328afe4945d082acd890401651bd37fcb20
2019-02-06 11:49:46 +00:00
Wei Wang
6a74ce960f Merge "init: print property/value for wait_for_property"
am: 54f7e57bac

Change-Id: Ibf0b7d4d09f364fedd290436ca74405a4d32923e
2019-02-05 23:36:35 -08:00
Treehugger Robot
54f7e57bac Merge "init: print property/value for wait_for_property" 2019-02-06 07:28:00 +00:00
Tom Cherry
dd5a7a6547 Merge "fs_mgr: Remove fs_mgr_flags #define's"
am: c03169caea

Change-Id: Iefa67976c45df702b67cb420c6eb45ea50f30b9b
2019-02-05 19:08:46 -08:00
Treehugger Robot
c03169caea Merge "fs_mgr: Remove fs_mgr_flags #define's" 2019-02-06 02:53:32 +00:00
Suren Baghdasaryan
bee9f5718b libprocessgroup: Disable file descriptor caching temporarily
File descriptor caching breaks boot on Android Go and Svelte targets.
Disable it temporarily to fix the builds and investigate the root cause
further.

Bug: 123868658
Test: Android Go device boots after this change

Change-Id: Idd0209029cde8454ea99b9de030f7a317c2988d7
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-02-06 02:15:37 +00:00
Wei Wang
c9352bb383 init: print property/value for wait_for_property
Bug: 123772265
Bug: 123788098
Test: Build
Change-Id: Ice130d7efab1f227a2f9021136621ad08f84fd23
2019-02-06 01:03:53 +00:00
Mark Salyzyn
c0d09a2603 fs_mgr: fstab: logspam from empty flags
If a flag is empty (eg: reading /proc/mounts), skip instead of
reporting "unknown flag: ". Do the same for "defaults".

Test: compile
Change-Id: Ibc3dc7154bbef4bb5dc6522d3226b6ca1e60ec24
2019-02-05 14:31:38 -08:00
Tri Vo
6604befa2e Merge "libcutils: route to ashmemd"
am: 5bccd33e0b

Change-Id: I757d03ad69f9d36fa145352f903825c98fc8d548
2019-02-05 13:45:48 -08:00
Tri Vo
5bccd33e0b Merge "libcutils: route to ashmemd" 2019-02-05 21:38:50 +00:00
Tom Cherry
7dec4fdd38 fs_mgr: Remove fs_mgr_flags #define's
These are no longer used but I missed them in the last CL.

Test: treehugger
Change-Id: Iea5235cf2d105c80a406f0ef020080859c0d2ff7
2019-02-05 13:04:21 -08:00
Tom Cherry
23a18e62fc Merge "Remove old C fs_mgr interface"
am: 7303edd194

Change-Id: I01614f3bdbd5d7d142884d2da61cb56d25869987
2019-02-05 09:12:43 -08:00
Tom Cherry
7303edd194 Merge "Remove old C fs_mgr interface" 2019-02-05 17:06:03 +00:00
Anton Hansson
1464eebca3 Merge "Fix asan paths in ld.config"
am: a13b119c3d

Change-Id: Iebae1ad41aedaea66e97931d5abc7b6a5ab460e0
2019-02-05 08:48:50 -08:00
Anton Hansson
a13b119c3d Merge "Fix asan paths in ld.config" 2019-02-05 16:28:05 +00:00
Anton Hansson
38d914132d Merge "Remove product_services rules if it's merged away"
am: b40f72d0ba

Change-Id: I9ec3e3bc2619a716dea5b349c83947f750e33317
2019-02-05 08:09:20 -08:00
Anton Hansson
b40f72d0ba Merge "Remove product_services rules if it's merged away" 2019-02-05 16:00:44 +00:00
vichang
d04eb7adf5 Merge "Expose public libraries from runtime namepsace to classloader namespace"
am: 0b3848bec7

Change-Id: I5440b865af962ad0096877a95c3574238f5929d6
2019-02-05 04:46:47 -08:00
Anton Hansson
2dae6f035e Fix asan paths in ld.config
As of Id663c5f284e3b4fc65ed8cb8c2da6bcf6542e034, the asan libs
are in the TARGET_COPY_OUT_X subpath of the /data/asan/ dir, rather
than just 'x' unconditionally.

Test: presubmit
Change-Id: I3a515791e237ad10703415ea532c7a089660d8e9
2019-02-05 12:36:58 +00:00
vichang
0b3848bec7 Merge "Expose public libraries from runtime namepsace to classloader namespace" 2019-02-05 12:34:00 +00:00
Anton Hansson
74e8d18a0b Remove product_services rules if it's merged away
TARGET_COPY_OUT_PRODUCT_SERVICES can be equal to
TARGET_COPY_OUT_PRODUCT, in which case the ld.config
lines containing PRODUCT_SERVICES are redundant.

Test: make and diff
Change-Id: I1dc24eb49d37f1ab0faa6eecdb0ccc974321f4ac
2019-02-05 12:27:43 +00:00
Martin Stjernholm
fc2c45cc62 Merge "Some tests are run from /data/local/tmp, and they need proper namespaces."
am: 31fd0ba559

Change-Id: I93c8ec1d1a001803ec23ccfd0e18e61cf1945f60
2019-02-05 03:08:55 -08:00
Treehugger Robot
31fd0ba559 Merge "Some tests are run from /data/local/tmp, and they need proper namespaces." 2019-02-05 11:04:48 +00:00
Zimuzo Ezeozue
58386c1e6e Merge "Reland: "Identify post-apexd crashing processes""
am: 54ef09c88e

Change-Id: Ie34c9bcaa2e319294755707b4ae8f536b0d341b1
2019-02-04 19:28:22 -08:00
Treehugger Robot
54ef09c88e Merge "Reland: "Identify post-apexd crashing processes"" 2019-02-05 03:16:30 +00:00
Tom Cherry
685c2c7b1e Remove old C fs_mgr interface
Remove superfluous fs_mgr flags as well.

Bug: 62292478
Test: tree hugger, fs_mgr_unit_test
Change-Id: Ib307400941b46ca8bcb51d479668efd82fc3ed2d
2019-02-04 15:09:02 -08:00
Dan Shi
8493872c99 Merge "Move the tests to postsubmit group"
am: a42af36002

Change-Id: I51fef3f5f92c6eded2e107185ba4b840c8a0d745
2019-02-04 14:07:40 -08:00
Treehugger Robot
a42af36002 Merge "Move the tests to postsubmit group" 2019-02-04 21:58:41 +00:00