Commit Graph

1925 Commits

Author SHA1 Message Date
Yabin Cui 329e12fb57 Merge "Add debug system properties to control profiling limits."
am: 1db3789252

Change-Id: I32d3d93bc97aab5a9c21be0f0af5191b581aa32a
2018-07-10 11:11:09 -07:00
Yabin Cui 4f0da7cb82 Add debug system properties to control profiling limits.
When security.perf_harden is disabled through adb, use some debug
system properties to set profiling limits in the kernel, including
cpu percentage, memory, and max sample rate.

Bug: 110706031
Test: boot hikey960 and manually set system properties to make
Test: sure it works.

Change-Id: I44c0adf3a000bb393905233f2a097c97b5fe91ec
2018-07-09 16:03:30 -07:00
Mark Salyzyn fbe32e723b Merge "rootdir: access to pstore denied to bootstat"
am: 8b80960417

Change-Id: I02884961f2b782e57a9dcac028c2bd6ae7b33f48
2018-06-29 15:20:57 -07:00
Mark Salyzyn 7ab805ea1d rootdir: access to pstore denied to bootstat
Test: boot_reason_test.sh
Bug: 110925971
Change-Id: Iba7b7325fe8c9ad18a7f8dbda550d6008400693e
2018-06-29 13:10:08 -07:00
Doheon Lee ac7756307f Merge "Determine product partition path on build time"
am: 2bf8328c54

Change-Id: I773864c5dcf6adbea8e1947b969de69d25454521
2018-06-19 14:49:21 -07:00
Doheon Lee cccad0bf84 Determine product partition path on build time
Path of product partitoin can be set as /product or /system/product
whether generate extra product partition or not.
Substitute %PRODUCT% to relevant path to know linker which path should
search and permit.

Bug: 110286945
Test: m -j # Check /system/etc/ld.config.$(PLATFORM_VNDK_VERSION).txt
Change-Id: I6ca177d0c9c5af00ad821879fece40848331fc8d
2018-06-19 08:10:14 +00:00
Inseob Kim af818a799d Merge "Add /system/product/* paths to permitted paths"
am: c733e5af3c

Change-Id: I010dc1ad943fbf4c2c8524bb4df4cd6d0c699caa
2018-06-18 00:31:48 -07:00
Inseob Kim 3918936b9e Add /system/product/* paths to permitted paths
As linker doesn't resolve paths in permitted paths, /system/product
variants should be added to support devices having product partition
under /system.

Bug: 110286945
Test: m -j succeeds on taimen and libraries under /system can dlopen
libraries under /system/product/apps

Change-Id: Icd102d44511702e4ec66c07a367b59c3d9700a44
2018-06-18 14:16:49 +09:00
Jiyong Park 4ebda908de Shared libs are supported in recovery mode
am: 011ee12b1d

Change-Id: I867dbafecf11215b82d952c532774cdf12c6e782
2018-06-13 16:43:09 -07:00
Jiyong Park 011ee12b1d Shared libs are supported in recovery mode
adbd has been built as a static executable since the same binary was
copied to the recovery partition where shared library is not supported.
However, since we now support shared library in the recovery partition,
adbd is built as a dynamic executable.

In addition, the dependency from adbd to libdebuggerd_handler is removed
as debuggerd is handled by the dynamic linker.

A few more modules in /system/core are marked as recovery_available:
true as they are transitive dependencies of the dynamic linker.

This change also includes ld.config.recovery.txt which is the linker
config file for the recovery mode. It is installed to /etc/ld.config.txt
and contains linker namespace config for the dynamic binaries under
/sbin.

Bug: 63673171
Test: `adb reboot recovery; adb devices` shows the device ID
Test: Select 'mount /system' in the recovery mode, then `adb shell`.
$ lsof -p `pidof adbd` shows that libm.so, libc.so, etc. are loaded from
the /lib directory.

Change-Id: I363d5a787863f1677ee40afb5d5841321ddaae77
2018-06-10 08:32:24 +09:00
Inseob Kim cf5e8f1575 Merge "Support /product/bin" am: 36b61f061d
am: 931e0f268a

Change-Id: If507c7206c6e1c43e0fe5a6af411250b7879e2e3
2018-05-31 20:09:45 -07:00
Inseob Kim 25195daaca Support /product/bin
Bug: 80422611
Test: m -j succeeded and permissions of files under /product/bin are set
correctly

Change-Id: I83377d809c47c92da6b226d2853ea6a7462fb127
2018-06-01 08:33:04 +09:00
Inseob Kim 4f0e967eaa Merge "Support product-specific libraries" am: 39cab7cd25
am: d9debeefd6

Change-Id: I06da5ca113c97af66d6a17caab5e1fb35bb12be3
2018-05-24 10:42:19 -07:00
Treehugger Robot 39cab7cd25 Merge "Support product-specific libraries" 2018-05-24 03:04:48 +00:00
Logan Chien dda4678a11 Merge "Always use versioned VNDK directory" 2018-05-22 04:04:07 +00:00
Jordan Liu 2f51c3ec25 Merge "Add a new directory to store downloaded apns" am: e0a52774b4
am: c25eeeca52

Change-Id: I0e4fc27f07aea7a050ed06d7206256319d4204bc
2018-05-21 14:49:10 -07:00
Paul Crowley 36bd69f826 Add option to create metadata mount point
am: fe305ab286

Change-Id: If035ab553e75afd4ac6e07ee1c97d6218c3ce397
2018-05-21 10:46:33 -07:00
Niklas Lindgren fd66538ef3 Add a new directory to store downloaded apns
downloaded apns-conf.xml will be stored in the folder
/data/misc/apns/ to make sure TelephonyProvider gets
access.

Bug: 79948106
Test: Manual
Change-Id: I4ba0596fa6523c0eb96328dbe46ead02587bd9b8
2018-05-21 18:48:28 +02:00
Paul Crowley fe305ab286 Add option to create metadata mount point
Test: booted metadata-encrypted device
Bug: 79781913
Change-Id: Ie922db20314c04409c98700bfb1aff3d111275f0
2018-05-18 14:10:56 -07:00
Logan Chien 5a35d12e62 Always use versioned VNDK directory
Bug: 78605339
Test: sailfish-userdebug builds and boots
Test: sailfish boots with GSI
Change-Id: I7da5845b5c1caed3b73d7665f1db672f2764c2a8
(cherry picked from commit 6a145749be)
2018-05-17 14:29:44 +08:00
Logan Chien 85e72361ac Merge "Always use versioned VNDK directory" into pi-dev
am: 5789b80a2b

Change-Id: If3c7ef539f32a73caaa42e23507c3c5e3396fe16
2018-05-16 02:43:46 -07:00
Logan Chien 6a145749be Always use versioned VNDK directory
Bug: 78605339
Test: sailfish-userdebug builds and boots
Test: sailfish boots with GSI
Change-Id: I7da5845b5c1caed3b73d7665f1db672f2764c2a8
2018-05-16 11:34:05 +08:00
Inseob Kim 67cb05654c Support product-specific libraries
Product-specific libraries in /product/lib can be exposed to Android
apps by adding the list of the libs into
/product/etc/public.libraries-<companyname>.txt. The libs MUST be named
as lib<name>.<companyname>.so.

Bug: 73095206
Test: with taimen
mma -j and runtest.sh. The libs are all loaded in system, but not in
vendor. After reinstalling app using adb -r and reopening app, only
libraries listed in .txt are loaded

Change-Id: I7c386813c72a7b225a7f244b6c5fec4ac0660fd3
2018-05-16 01:36:25 +00:00
Ralph Nathan f8d80b16a6 Merge "Add a public.libraries.txt file for iot devices." am: ca07de4214
am: 3b0360a572

Change-Id: I4dc565134b129765f97093c3ee3a25ca4e30dc05
2018-04-23 17:35:28 -07:00
Ralph Nathan ab39ce88e4 Add a public.libraries.txt file for iot devices.
Previously on Android Things, we used a vendor public.libraries.txt
file. This cl enables us to tag our library correctly.

Bug: 78226207
Test: test app works
Change-Id: I9e69717e5968a903e84f59c1d889c8e4cf9bcc35
2018-04-20 13:46:55 -07:00
Tim Murray 3188458f36 cutils: add restricted cpuset
am: 658ae90f69

Change-Id: I94d05991e95f79282b0ad980a97edb75d2e908f7
2018-04-18 17:00:21 -07:00
Tim Murray 658ae90f69 cutils: add restricted cpuset
Bug 78197570
Test: CTS
Exempt-From-Owner-Approval: owner OOO, build cop says it's fine

Change-Id: I6df972950b75a839caa463ae282ad000b959e8ae
2018-04-18 16:42:12 -07:00
Jeff Vander Stoep 6d36fdc4da Merge "init.rc: create /data/system/dropbox" am: c629131c26
am: b0918bfa47

Change-Id: Ibe80b9d6e4f3fe6b4555c919fccfc4b0d72aba63
2018-04-18 15:05:27 -07:00
Treehugger Robot c629131c26 Merge "init.rc: create /data/system/dropbox" 2018-04-18 21:48:39 +00:00
Tri Vo 4640149fd5 Merge "Add /mnt/vendor rw mount point for vendor partitions." 2018-04-18 19:32:32 +00:00
Jeff Vander Stoep 148dea71a5 init.rc: create /data/system/dropbox
Ensure dropbox has the new dropbox_data_file label.

Bug: 31681871
Test: ls -dZ /data/system/dropbox
    u:object_r:dropbox_data_file:s0 /data/system/dropbox

Change-Id: Ia67646f4a789155e20650c33fe4412cae7f930d2
2018-04-18 07:15:37 -07:00
Mark Salyzyn 7977e3d24d Merge "lmkd: limit capability set to minimum" am: 01ce44b734
am: c2d4d08be2

Change-Id: Ic97ab3c4312d260c2aa8c7a30e203564cd72f61a
2018-04-17 15:34:06 -07:00
TreeHugger Robot b35c019d5c Merge "Add /mnt/vendor rw mount point for vendor partitions." into pi-dev 2018-04-17 19:16:55 +00:00
Tri Vo 0b66969ba0 Add /mnt/vendor rw mount point for vendor partitions.
Changes to init's behavior during early mount:
1. Mounting of tmpfs on /mnt is moved from init stage to early mount.
2. init creates /mnt/vendor used to mount vendor partitions.
3. If a device tree fstab entry for early mount specifies a mount point
under /mnt/vendor e.g. /mnt/vendor/foo, init will create
/mnt/vendor/foo mount point.

Bug: 64905218
Test: change dt fstab entry to mount persist to /mnt/vendor/persist;
mount point is created correctly, and partition is mounted in early
mount. See go/pag/1069774
Test: device boots with /mnt/vendor and previous contents of /mnt present,
and selinux label "mnt_vendor_file" is applied correctly.
Test: cts-tradefed run commandAndExit cts --skip-all-system-status-check
--primary-abi-only --skip-preconditions -m CtsAppSecurityHostTestCases
-t android.appsecurity.cts.PermissionsHostTest
Change-Id: I3739130739eadf508355c7f2531366fcaed74175
Merged-In: I3739130739eadf508355c7f2531366fcaed74175
(cherry picked from commit b511475664)
2018-04-17 11:19:44 -07:00
Tri Vo b511475664 Add /mnt/vendor rw mount point for vendor partitions.
Changes to init's behavior during early mount:
1. Mounting of tmpfs on /mnt is moved from init stage to early mount.
2. init creates /mnt/vendor used to mount vendor partitions.
3. If a device tree fstab entry for early mount specifies a mount point
under /mnt/vendor e.g. /mnt/vendor/foo, init will create
/mnt/vendor/foo mount point.

Bug: 64905218
Test: change dt fstab entry to mount persist to /mnt/vendor/persist;
mount point is created correctly, and partition is mounted in early
mount. See go/pag/1069774
Test: device boots with /mnt/vendor and previous contents of /mnt present,
and selinux label "mnt_vendor_file" is applied correctly.
Test: cts-tradefed run commandAndExit cts --skip-all-system-status-check
--primary-abi-only --skip-preconditions -m CtsAppSecurityHostTestCases
-t android.appsecurity.cts.PermissionsHostTest
Change-Id: I3739130739eadf508355c7f2531366fcaed74175
2018-04-17 10:15:07 -07:00
Mark Salyzyn 64d97d8761 lmkd: limit capability set to minimum
Set F() capability set and 'drop' lmkd from AID_ROOT to AID_LMKD uid
and from AID_ROOT to AID_LMKD and AID_SYSTEM gid.

/dev/memcg/memory.pressure defaults to root.root mode 0000, set it up
as root.system mode 0040 to allow lmkd read access.

Instrument failure to set SCHED_FIFO.

Annotate access points that require elevated capabilities.

Test: check /proc/`pidof lmkd`/status for capability set
Test: lmkd_unit_test
Bug: 77650566
Change-Id: I986081a0434cf6e842b63a55726380205b30a3ea
2018-04-16 14:51:56 -07:00
Paul Lawrence 7fdcbdfc7b Fix FDE
Need a larger tmpfs to stop crashes
Need to run start-zygote after mounting the real data

Test: Cherry-pick ag/3898232. System boots, can set pattern, system
      reboots. Wifi works at all points.
Bug: 76452634

Change-Id: Id24241db940d352fd3bcdef594b5358854c6f71d
2018-04-16 12:58:14 -07:00
Yifan Hong fd1aa70a0f healthd: add healthd.rc
Split healthd section from init.rc into its own. This allows
healthd.rc to be excluded from the build when healthd is excluded.

Test: builds
Test: exclude healthd from build, healthd.rc is not installed
Bug: 77541952
Change-Id: I1c055f14c5862631f359fd0029289da8f43af063
2018-04-04 14:08:04 -07:00
Logan Chien e9aaadfb2b Allow VNDK-SP extensions to use vendor lib
This commit adds a wildcard linker namespace link between the "vndk"
namespace and the "sphal" namespace of the system processes.  This is
created for VNDK-SP-Ext to load vendor libs in "sphal" namespace.

Bug: 77249955
Test: lunch aosp_walleye-userdebug && make -j8  # runs unit tests
Test: lunch aosp_sailfish-userdebug && make -j8  # runs unit tests
Test: Create a VNDK-SP-Ext, link to vendor libs, and run it.
Change-Id: I71b0fb604a84272156aa119130c272f891847008
Merged-In: I71b0fb604a84272156aa119130c272f891847008
(cherry picked from commit fbaf9767b51891491903521c24b0d4a1ec1c87e8)
2018-03-30 13:30:14 +08:00
Logan Chien 8667747a0e Allow VNDK-SP extensions to use vendor lib
This commit adds a wildcard linker namespace link between the "vndk"
namespace and the "sphal" namespace of the system processes.  This is
created for VNDK-SP-Ext to load vendor libs in "sphal" namespace.

Bug: 77249955
Test: lunch aosp_walleye-userdebug && make -j8  # runs unit tests
Test: lunch aosp_sailfish-userdebug && make -j8  # runs unit tests
Test: Create a VNDK-SP-Ext, link to vendor libs, and run it.
Change-Id: I71b0fb604a84272156aa119130c272f891847008
2018-03-29 17:18:40 +08:00
Jerry Zhang 50108b3f49 Remove sys.usb.ffs.mtp.ready property
With the usb control fd changes, there
is no longer a need to wait for this
property to trigger before starting the
connection.

Bug: 72877174
Test: switch config to mtp/ptp
Change-Id: Ib29419e7948025be3f3295106cad18943d314f0b
2018-03-22 11:35:20 -07:00
Benedict Wong 1f70d1cac5 Merge "Set SPI Allocation Timeout to One Hour" into pi-dev 2018-03-21 17:03:39 +00:00
Benedict Wong 89c9c9b18b Set SPI Allocation Timeout to One Hour
This change increases the default expiration length of an SA to 1h. The
IPsec API expects that SPIs are allocated indefinitely, but potential
for instability requires that these get cleaned up automatically. As
such, the duration was chosen as a sane, but long timeout value.

Bug: 72316671
Test: Added CTS tests to enforce this behavior
Merged-In: I47aef9cea4a09da253b2ec048a8797af5fa25529
Change-Id: I47aef9cea4a09da253b2ec048a8797af5fa25529
(cherry picked from commit 00308f8554)
2018-03-20 11:32:40 -07:00
Jiyong Park 955029aa1b /postinstall/* does not search for a lib in /vendor or /odm
There has been no section in the linker config file for the binaries
under /postinstall. As a result, the binaries were run with the legacy
default config where /vendor/lib and /odm/lib are added to the search
paths. This is causing selinux denials as the binaries for OTA are not
allowed to access /vendor/lib or /odm/lib, but the dynamic linker calls
realpath(3) on the paths to canonicalize them.

Fixing the issue by letting /postinstall/* binaries to run with a
dedicated linker namespace config, where /vendor/lib and /odm/lib are
not added to the search paths. Not having the paths is okay because
he OTA binaries should not have dependency to the libs there.

Bug: 75287236
Test: do the OTA, selinux denials on postinstall_file is not shown
Test: above test should pass on  wahoo, marlin and pre-treble devices
Merged-In: I49c11a0929002adfef667890c0a375c2b41054f4
Change-Id: I49c11a0929002adfef667890c0a375c2b41054f4
(cherry picked from commit d7e6cb27b6)
2018-03-21 01:25:55 +09:00
Jiyong Park d7e6cb27b6 /postinstall/* does not search for a lib in /vendor or /odm
There has been no section in the linker config file for the binaries
under /postinstall. As a result, the binaries were run with the legacy
default config where /vendor/lib and /odm/lib are added to the search
paths. This is causing selinux denials as the binaries for OTA are not
allowed to access /vendor/lib or /odm/lib, but the dynamic linker calls
realpath(3) on the paths to canonicalize them.

Fixing the issue by letting /postinstall/* binaries to run with a
dedicated linker namespace config, where /vendor/lib and /odm/lib are
not added to the search paths. Not having the paths is okay because
he OTA binaries should not have dependency to the libs there.

Bug: 75287236
Test: do the OTA, selinux denials on postinstall_file is not shown
Test: above test should pass on  wahoo, marlin and pre-treble devices
Change-Id: I49c11a0929002adfef667890c0a375c2b41054f4
2018-03-20 10:12:00 +09:00
Elliott Hughes ce232d572d Add NDK folks to OWNERS for library configuration.
Bug: N/A
Test: N/A
Change-Id: I868f1710ba2a5f9a60b4ae6fe4900f2b38095114
2018-03-19 10:56:07 -07:00
Benedict Wong 78ca1fecef Merge "Set SPI Allocation Timeout to One Hour" 2018-03-16 17:45:20 +00:00
Bowgo Tsai 6795ef7bb2 Support /odm partition
Bug: 64195575
Test: boot a device

Change-Id: I52c0da32aef80c060f6efa47ddf62577fb543ad8
Merged-In: I52c0da32aef80c060f6efa47ddf62577fb543ad8
(cherry picked from commit 39476ffd8a)
2018-03-16 15:02:00 +08:00
Benedict Wong 00308f8554 Set SPI Allocation Timeout to One Hour
This change increases the default expiration length of an SA to 1h. The
IPsec API expects that SPIs are allocated indefinitely, but potential
for instability requires that these get cleaned up automatically. As
such, the duration was chosen as a sane, but long timeout value.

Bug: 72316671
Test: Added CTS tests to enforce this behavior
Change-Id: I47aef9cea4a09da253b2ec048a8797af5fa25529
2018-03-14 18:24:23 +00:00
Bowgo Tsai 39476ffd8a Support /odm partition
Bug: 64195575
Test: boot a device
Change-Id: I52c0da32aef80c060f6efa47ddf62577fb543ad8
2018-03-14 16:19:03 +08:00
Bowgo Tsai ca8b2c6995 Adding /odm support
Treble system-as-root GSI needs to work on devices with and without /odm
partition. This change creates the following symlinks for devices without
/odm partition:

  /odm/app ->/vendor/odm/app
  /odm/bin ->/vendor/odm/bin
  /odm/etc ->/vendor/odm/etc
  /odm/firmware ->/vendor/odm/firmware
  /odm/framework ->/vendor/odm/framework
  /odm/lib -> /vendor/odm/lib
  /odm/lib64 -> /vendor/odm/lib64
  /odm/overlay -> /vendor/odm/overlay
  /odm/priv-app -> /vendor/odm/priv-app

For devices with odm partition, /odm will be used as the mount point and
those symlinks will be hidden after mount.

Bug: 70678783
Test: boot a A/B device without /odm partition, checks those symlinks exist
Test: boot a A/B device with /odm partition, checks those symlinks don't exist
Change-Id: I4d960b52e2754f461188f3ab562c751f502046ea
(cherry picked from commit 00749affc4)
2018-03-13 08:41:50 +08:00
Bowgo Tsai 00749affc4 Adding /odm support
Treble system-as-root GSI needs to work on devices with and without /odm
partition. This change creates the following symlinks for devices without
/odm partition:

  /odm/app ->/vendor/odm/app
  /odm/bin ->/vendor/odm/bin
  /odm/etc ->/vendor/odm/etc
  /odm/firmware ->/vendor/odm/firmware
  /odm/framework ->/vendor/odm/framework
  /odm/lib -> /vendor/odm/lib
  /odm/lib64 -> /vendor/odm/lib64
  /odm/overlay -> /vendor/odm/overlay
  /odm/priv-app -> /vendor/odm/priv-app

For devices with odm partition, /odm will be used as the mount point and
those symlinks will be hidden after mount.

Bug: 70678783
Test: boot a A/B device without /odm partition, checks those symlinks exist
Test: boot a A/B device with /odm partition, checks those symlinks don't exist
Change-Id: I4d960b52e2754f461188f3ab562c751f502046ea
2018-03-09 17:34:29 +08:00
Luis Hector Chavez 0ee6c22f58 Merge "init.rc: Mount /mnt with nodev,nosuid,noexec" am: 6698482ca4 am: 0802d45683
am: cfd9a3af86

Change-Id: I9be6cffa4deb4df7c4b781e2900d7fa79fd558ca
2018-02-15 14:47:58 +00:00
Luis Hector Chavez b0d8b26e0f Merge "init.rc: Remount / with MS_REMOUNT|MS_BIND" am: 008576080e am: c37d85953e
am: 655d6d5451

Change-Id: Idb18188ad9b3b667411d428ae616498748b8281a
2018-02-15 14:43:04 +00:00
Treehugger Robot 7238eca684 Merge "init.rc: Add nodev,noexec,nosuid to /config" 2018-02-15 03:01:33 +00:00
Luis Hector Chavez 8774945036 init.rc: Add nodev,noexec,nosuid to /config
This change adds some additional flags to the /config mount. This is to
reduce the number of mounts with unnecessary privileges.

Bug: 73255020
Test: aosp_sailfish still boots
Test: CtsAppSecurityHostTestCases {ExternalStorageHostTest,StorageHostTest}
Merged-In: If3409d917cdf76a67ebfb7c4035a3ae8fee6189f
Change-Id: If3409d917cdf76a67ebfb7c4035a3ae8fee6189f
2018-02-14 20:58:56 +00:00
Luis Hector Chavez 465c8f307f init.rc: Add nodev,noexec,nosuid to /config
This change adds some additional flags to the /config mount. This is to
reduce the number of mounts with unnecessary privileges.

Bug: 73255020
Test: aosp_sailfish still boots
Test: CtsAppSecurityHostTestCases {ExternalStorageHostTest,StorageHostTest}
Change-Id: If3409d917cdf76a67ebfb7c4035a3ae8fee6189f
2018-02-14 12:55:48 -08:00
Luis Hector Chavez 081aa0a303 init.rc: Mount /mnt with nodev,nosuid,noexec
This change adds some additional flags to /mnt. This is to reduce
the number of mounts with unnecessary flags.

Bug: 73255020
Test: aosp_sailfish still boots
Test: CtsAppSecurityHostTestCases {StorageHostTest,ExternalStorageHostTest}
Test: CtsOsTestCases StorageManagerTest
Test: find /mnt  | egrep -v '^/mnt/runtime/(default|read|write)/emulated' | \
      xargs ls -lZd  # Shows no character devices or executable files
Change-Id: I54739133119d9626ebeb2ef9a1c127f7a90fa098
2018-02-14 20:51:40 +00:00
Luis Hector Chavez 30780a7305 init.rc: Remount / with MS_REMOUNT|MS_BIND
Since we only want to change the ro flag on / (and leave all other mount
flags alone), this can also be achieved by passing MS_REMOUNT|MS_BIND,
even if the mount is not a bind-mount.

This aims to make running Android within a user namespace easier, since
remounts without the MS_BIND flag are forbidden.

Bug: 73255020
Test: aosp_sailfish still boots
Test: rootfs on / type rootfs (rw,seclabel)
      /dev/root on / type ext4 (ro,seclabel,relatime,data=ordered)
Change-Id: I2f89a8badfc467db47304c9355648e8fd8ad1272
2018-02-14 20:51:06 +00:00
Justin Yun f88ab0b4ec Merge "Move libz to llndk from vndk-sp for non-VNDK-enforced devices." am: 524254f3df am: 7987a191f6
am: e86a98bfac

Change-Id: I894549e82aebc48e39133ccc9138410b7ce70c82
2018-02-14 09:45:46 +00:00
Justin Yun 8065a608a6 Move libz to llndk from vndk-sp for non-VNDK-enforced devices.
For non-VNDK-enforced devices, libz cannot be installed in vndk-sp
to avoid CTS test failure.
Move libz to llndk from vndk-sp for generating the namespace
configuration from ld.config.vndk_lite.txt.

Bug: 73296261
Test: run android.jni.cts test on marlin/sailfish
Change-Id: I1b8b43cd87dc8dfdd2667001ae1e50d9eaedf93d
2018-02-14 16:11:14 +09:00
Luis Hector Chavez 9420397267 Merge "init.rc: Perform some mounts with nodev,nosuid,noexec" am: cd66e4c6ea am: 8cb681fa1f
am: c876c660e0

Change-Id: I588550f4cad7e18067d916a6e1b4eed3b1fb2265
2018-02-13 23:07:24 +00:00
Luis Hector Chavez f8a7e37b2d init.rc: Perform some mounts with nodev,nosuid,noexec
This change adds some additional flags to some mounts. This is to reduce
the number of mounts with these flags.

Bug: 73255020
Test: aosp_sailfish still boots
Change-Id: I285e6d7b3dcc19f691a3d6780e7d3a3a5d7cb3de
2018-02-12 23:17:10 +00:00
Justin Yun eab887b60e Merge changes from topic "vndk-sp-list-update" am: 4c0ee1e8a0 am: 6edfca6e3b
am: 0d77d80aad

Change-Id: I366d50eee8edb40f243c551a2051d5efebdb3e72
2018-02-08 08:14:12 +00:00
Justin Yun 27bdc37fac Rename namespace configuration source files.
For strict VNDK runtime restriction, use ld.config.txt as a source
file. For treblized devices without BOARD_VNDK_VERSION, use
ld.config.vndk_lite.txt file.

Test: Build and boot on Pixel 2017 and 2018 devices.
Change-Id: Ie5b77facd4c11bc73219ecf13ad1298ac5d60d8e
2018-02-08 08:46:59 +09:00
Justin Yun 8a9a8eeb85 Use actual VNDK list for non-VNDK-enforcing devices
Rename ld.config.txt.in to ld.config.vndk.txt and
ld.config.txt to ld.config.vndk_light.txt.

For FULL_TREBLE devices without BOARD_VNDK_VERSION, update the VNDK
library list in ld.config.vndk_light.txt with the actual VNDK list.

Bug: 69526027
Test: Build marlin/sailfish and check boot
Change-Id: Idbb0cc97d11037c1493d4739e84961297ce51dbd
Merged-In: Idbb0cc97d11037c1493d4739e84961297ce51dbd
2018-02-08 08:33:15 +09:00
Justin Yun 181056b424 Use actual VNDK list for non-VNDK-enforcing devices
Rename ld.config.txt.in to ld.config.vndk.txt and
ld.config.txt to ld.config.vndk_light.txt.

For FULL_TREBLE devices without BOARD_VNDK_VERSION, update the VNDK
library list in ld.config.vndk_light.txt with the actual VNDK list.

Bug: 69526027
Test: Build marlin/sailfish and check boot
Change-Id: Idbb0cc97d11037c1493d4739e84961297ce51dbd
2018-02-07 05:36:51 +09:00
bohu 5b3196430b Merge "emulator: not start adbd upon ro.kernel.qemu=1" am: 7c271bdc3b am: 466b098b87
am: 83255e337a

Change-Id: I26732caa7cc8346e27ec4c8e4816b5cace2577cd
2018-02-05 06:39:23 +00:00
bohu b40193e50a emulator: not start adbd upon ro.kernel.qemu=1
clean up emulator specific rules.

BUG: 72900827

Change-Id: Ica60838562fd773bcde5752c11586183ce55b71a
2018-02-03 17:22:15 -08:00
Logan Chien 1519e3c9b3 Merge "ld.config.txt: Link vendor vndk ns to default ns" am: 1e11f5f709 am: 161efac4f0
am: f20d8a1f1e

Change-Id: I915c4409df864bbb69ccb9b8f684c98ce3a3892d
2018-01-26 05:02:45 +00:00
Logan Chien 1e11f5f709 Merge "ld.config.txt: Link vendor vndk ns to default ns" 2018-01-26 04:45:26 +00:00
Jaekyun Seok 207a211804 Merge "Support /product partition" am: 8f324542a2 am: 10e1ec7de3
am: 83ffef2cb1

Change-Id: Ia1933bbede3db2489151e5ab8ead574582b87f7a
2018-01-25 04:17:36 +00:00
Jaekyun Seok dff165d3a2 Support /product partition
This CL will enable reading /product/build.prop and add product paths
into ld.config.txt.in.

Bug: 64195575
Test: tested with 'PRODUCT_PRODUCT_PROPERTIES := ro.product.abc=abc' on
sailfish

Change-Id: Ie996def20e25dc1afe0c74af2096af844934b2dc
2018-01-25 09:37:20 +09:00
Andreas Huber a03134ea22 Fingerprint data is now stored in one of two ways depending on the
shipping API version:

For devices shipped before Android P nothing changes, data
is stored under /data/system/users/<user-id>/fpdata/...

Devices shipped from now on will instead store
fingerprint data under /data/vendor_de/<user-id>/fpdata.

Support for /data/vendor_de and /data/vendor_ce has been added to vold.

Bug: 36997597
Change-Id: I83f87e88d1731e515b459a3d6d5bf3104afe6cfe
Test: manually
2018-01-23 14:29:40 -08:00
Logan Chien ea4a2bdd44 ld.config.txt: Link vendor vndk ns to default ns
This commit links the vndk namespace of vendor processes to the default
namespace of vendor processes.  allow_all_shared_libs is specified so
that VNDK extensions can link with other vendor libraries in
/vendor/lib[64].

Bug: 69824336

Test: Create a vndk-ext lib that links to vendor lib and use that
vndk-ext lib in a vendor executable.

Change-Id: Ibd3dc2e5f0f2e6ff9fc9677c6bcfcf87a1a70e50
2018-01-23 11:02:54 +08:00
Logan Chien 736e4f1079 Merge "ld.config.txt: Move vendor vndk to vndk namespace" am: c6805c3e9c am: 0779a259b7
am: 5aa3d78ea7

Change-Id: I68cbb5429e57f6f2a72775c5fc50b4b5e20b8cd4
2018-01-23 02:56:28 +00:00
Logan Chien 91b3fb4f3f ld.config.txt: Move vendor vndk to vndk namespace
This commit moves /{odm,vendor}/lib[64]/vndk[-sp] to vndk namespace so
that vndk extension can override vndk libs from
/system/lib[64]/vndk[-sp].

Bug: 69824336

Test: Create libutils_ext locally and it can be called from
android.hardware.nfc@1.0-service.

Change-Id: Id63e58d665fa41eda85950ee1d16fe06c35cd7d3
2018-01-22 11:30:56 +08:00
Max Bires 905c99b80e Merge "Adding /data/local/traces for traceur app" am: 658e4ddd03 am: 69c428e5a6
am: cd4fa12263

Change-Id: I0ba68a132cc840b0d5b63a9d22b54276b8c168de
2018-01-20 01:02:10 +00:00
Treehugger Robot 658e4ddd03 Merge "Adding /data/local/traces for traceur app" 2018-01-20 00:51:30 +00:00
TreeHugger Robot 82b85d0b7c Merge "Change /configfs/sdcardfs to 0770" 2018-01-19 21:57:18 +00:00
Max Bires 181d11c5cb Adding /data/local/traces for traceur app
Traceur app is being split out of shell user. Previously it logged to
shell's bugreports directory. It no longer has access, so it needs a
new, user-friendly file location to store trace data.

Bug:68126425
Test: Traceur can write and shell can read from this directory
Change-Id: I9e344973fd43eb5699f7a848524e20b06458fb77
2018-01-19 09:37:44 -08:00
Justin Yun 93b1df1cd1 Merge "Add VNDK version suffix in ld.config.txt on build time." am: 447280cea0 am: 3060be356f
am: 5a31c03fa6

Change-Id: Ie58dca02b6f267b882b8f1f59cda57c141c8892c
2018-01-17 08:00:29 +00:00
Justin Yun cbbf195e46 Add VNDK version suffix in ld.config.txt on build time.
As we use different ld.config.txt per version, we don't need to
substitute the VNDK_VER on run time.
Remove all ${VNDK_VER} from the linker namespace configuration files.

Bug: 70603313
Test: build and boot GSI for walleye and sailfish
Change-Id: Ief8aee5c3308b2462cafaffc2423deda4e51a7bb
2018-01-17 12:14:25 +09:00
Oscar Shu 128274a3f2 Merge "Firmware dump create directory" am: da007e0deb am: b4d9751eab
am: b8deb4de2f

Change-Id: I3eba1b745d75d8cc0a3eba7cf0fea7ad54b992c2
2018-01-17 00:09:03 +00:00
Oscar Shu da007e0deb Merge "Firmware dump create directory" 2018-01-16 23:57:15 +00:00
Chenbo Feng dc95eeadf4 Merge "Mount eBPF file system and cgroupv2 root directory" am: 4719ecd28c am: 7a65861d7c
am: 94cff89571

Change-Id: Id2a58f55f16994dba0b6dbf86d4724943dbc8141
2018-01-16 22:15:25 +00:00
Chenbo Feng 2cba6f2e0e Mount eBPF file system and cgroupv2 root directory
Mount the eBPF file system under /sys/fs/bpf to allow netd to pin and
retrieve persistent eBPF map object from the file system. It helps the
system to maintain a consistent eBPF data store when netd crashed and
restart. Mount the cgroupv2 module and use the root folder of it to
monitor network statistics through eBPF program attached.

Test: eBPF map object show up under /sys/fs/bpf after netd start.
Bug: 30950746
Change-Id: Ie475112116603798fe75a75c5a84f4bbe5b942ec
2018-01-16 21:45:25 +00:00
Jeff Vander Stoep 538caefba9 Merge "OWNERS: add myself" am: 4ba3ebbc2f am: d64b97e0fd
am: 14bf561f03

Change-Id: Idf3ff9fe3089b8a9788cbe260e94456b680d1dc6
2018-01-16 20:54:47 +00:00
xshu 9a7a5b61c4 Firmware dump create directory
Setting up infanstructure for vendor tombstone in dir:
/data/vendor/tombstones

Wifi specific dumps will go into:
/data/vendor/tombstones/wifi

Bug: 70170285
Test: compile, run on device.
Change-Id: Ie16dd8236d9b5df19adb9818b4c62ce01e0d0b10
2018-01-16 19:10:57 +00:00
Jeff Vander Stoep e2f77d8ef1 OWNERS: add myself
Test: none
Change-Id: I150226c19370a2c5f06781003ec88befa0e91da7
2018-01-12 13:31:54 -08:00
Daniel Rosenberg 7903523015 Change /configfs/sdcardfs to 0770
Change-Id: I0a66f6b3ebc3dee398e4f23f5a58ebf7d62cc4c3
Bug: 69929297
Test: setenforce 0
      su
      mkdir /config/sdcardfs/test
      su u0_a0,u0_a0,u0_a0
      echo 10000 > /config/sdcardfs/test/appid
      Write should fail
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2018-01-10 17:43:51 -08:00
Justin Yun d7bfaea62b Merge "Do not append VNDK version if VNDK is not used" am: 4d281880e0 am: 9c378b0e37
am: 30ac0d7a27

Change-Id: I4493f92bf877d9a792837df5c062570f972a6901
2018-01-10 23:52:34 +00:00
Justin Yun dd16301bab Do not append VNDK version if VNDK is not used
If BOARD_VNDK_VERSION is not defined, ro.vndk.version will not be
set. In this case, the device, is not able to use versioned
configuration files.
Check BOARD_VNDK_VERSION to append the VNDK version to the namespace
configuration files.

Bug: 71730104
Test: Check boot on both 2016 and 2017 Pixel devices.
Change-Id: I1df27c75de42a526768a156387f22a934cda6d72
2018-01-11 08:29:54 +09:00
Siarhei Vishniakou 439efda1e7 Merge "Allow input system access to /dev/v4l-touch" am: f6363989f4 am: 31209d7ada
am: f82541140b

Change-Id: I7ea315e14fc97ade4f49293b13fc8438b4e19024
2018-01-09 22:11:48 +00:00
Treehugger Robot f6363989f4 Merge "Allow input system access to /dev/v4l-touch" 2018-01-09 21:45:52 +00:00
Justin Yun fc86b1fee0 Merge "Removed unused part in ld.config.txt.in" am: 8fa3e72846 am: 7b7339d339
am: ebf514bab3

Change-Id: Ib94c656453658409081f6820a5901ab75de8fa60
2018-01-09 20:17:50 +00:00
Justin Yun 939f06b429 Removed unused part in ld.config.txt.in
In the namespace with "isolated = false", "permitted.paths" is not
used.

Bug: 71727966
Test: walleye device boot
Change-Id: I6f624be3c4e2c4070bb784632d0757408ec12db0
2018-01-09 14:13:40 +09:00
Jeff Sharkey f431cd84e4 Merge changes from topic "resgidz" am: a7004e5fed am: b162da3a47
am: c16340c646

Change-Id: Iaf01b79c1e51f4cba06ee9ea6227c00a3cec4d4d
2018-01-09 01:49:29 +00:00
Steve Muckle a1c5978967 Merge "rootdir: make sure the /odm mountpoint is always available" am: fcec40de0b am: ada4b7782d
am: 34f29a86fd

Change-Id: Icbc30f9ed92163119307d7c5f25e06d9cd93e9a4
2018-01-09 01:22:16 +00:00
Jeff Sharkey a7004e5fed Merge changes from topic "resgidz"
* changes:
  Add reserved disk GID to critical component.
  Set reserved GID when setting reserved blocks.
  Allocate GID to use reserved disk space.
2018-01-08 18:17:50 +00:00