summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-09Reland 'Check /dev/binder access before calling defaultServiceManager()'q_tzdata_aml_297100400q_tzdata_aml_297100300q_tzdata_aml_297100000q_tzdata_aml_296200000q_tzdata_aml_295600118q_tzdata_aml_295600110q_tzdata_aml_295500002q_tzdata_aml_295500001q_tzdata_aml_294400310android-mainline-12.0.0_r54android-mainline-12.0.0_r111android-mainline-10.0.0_r9android-mainline-10.0.0_r8android-mainline-10.0.0_r7android-mainline-10.0.0_r6android-mainline-10.0.0_r5android-mainline-10.0.0_r4android-mainline-10.0.0_r13android-mainline-10.0.0_r12android-mainline-10.0.0_r11android-mainline-10.0.0_r10android-10.0.0_r9android-10.0.0_r8android-10.0.0_r7android-10.0.0_r45android-10.0.0_r44android-10.0.0_r43android-10.0.0_r42android-10.0.0_r41android-10.0.0_r40android-10.0.0_r39android-10.0.0_r38android-10.0.0_r37android-10.0.0_r36android-10.0.0_r35android-10.0.0_r34android-10.0.0_r33android-10.0.0_r32android-10.0.0_r31android-10.0.0_r30android-10.0.0_r29android-10.0.0_r28android-10.0.0_r27android-10.0.0_r26android-10.0.0_r25android-10.0.0_r24android-10.0.0_r23android-10.0.0_r22android-10.0.0_r21android-10.0.0_r20android-10.0.0_r19android-10.0.0_r18android-10.0.0_r16android-10.0.0_r15android-10.0.0_r14android-10.0.0_r13android-10.0.0_r12q_tzdata_aml_297100000android12-mainline-tzdata-releaseandroid10-qpr3-s1-releaseandroid10-qpr3-releaseandroid10-qpr2-s4-releaseandroid10-qpr2-s3-releaseandroid10-qpr2-s2-releaseandroid10-qpr2-s1-releaseandroid10-qpr2-releaseandroid10-qpr1-releaseandroid10-qpr1-mainline-releaseandroid10-qpr1-d-releaseandroid10-qpr1-c-s1-releaseandroid10-qpr1-c-releaseandroid10-qpr1-b-s1-releaseandroid10-qpr1-b-releaseandroid10-mainline-tzdata-releaseandroid10-mainline-resolv-releaseandroid10-mainline-networking-releaseandroid10-mainline-media-releaseandroid10-devandroid10-d4-s1-releaseandroid10-d4-releaseandroid10-c2f2-s2-releaseandroid10-c2f2-s1-releaseandroid10-c2f2-releaseandroid10-android13-mainline-tzdata-releaseTri Vo
Vendor processes do not have access to /dev/binder. Calling defaultServiceManager() without RW permission will crash the process with error message "Binder driver could not be opened. Terminating." Normally, VNDK version of libcutils.so would not have the codepath of ashmemd. However, on non-VNDK this codepath is exercised. We check if the current process has permissions to /dev/binder before calling defaultServiceManager() to avoid crashing. The calling code in libcutils.so handles inability to connect ashmemd correctly. It will fall back to opening /dev/ashmem directly. Vendor code should already have permissions for that. This SELinux denial shows which permissions need to be checked for: avc: denied { read write } for name="binder" dev="tmpfs" ino=5570 scontext=u:r:hal_sensors_default:s0 tcontext=u:object_r:binder_device:s0 tclass=chr_file permissive=0 Note that the problem only manifests on non-VNDK devices. Bug: 129073672 Test: ashmemd_test Test: VtsHalSensorsV1_0TargetTest --gtest_filter=SensorsHidlTest.AccelerometerAshmemDirectReportOperationNormal Test: atest CtsOsTestCases:android.os.cts.SeccompTest#testIsolatedServicePolicy Change-Id: I23bef7986298811ce2bd84c3fdc9c9e22837c368 Merged-In: I23bef7986298811ce2bd84c3fdc9c9e22837c368 (cherry picked from commit febe203d835f89eede3979e44bb80b2cda523047)
2019-03-28Merge "Revert "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'"" am: eb512b6888 am: 93bbcd8c46 am: 2e3f50fd67 Change-Id: Ie67fd8d129434c5c42e1e9179d36195766ed886b
2019-03-28Merge "Revert "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'"" am: eb512b6888 am: 93bbcd8c46 Change-Id: I1004bd5943fe096955b42dd6e961fb78ebcb5252
2019-03-28Merge "Revert "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'"" am: eb512b6888 Change-Id: I4741b279595f0881921428982cc5b745bc140cc8
2019-03-28Merge "Revert "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'""
2019-03-28Revert "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'" This reverts commit a526f3d41640506ebd457c2ed91b923d6f187d0b. Reason for revert: b/129483782 Isolated apps don't have seccomp permissions to access() syscall. CTS seccomp test is broken. Change-Id: I90ddf2016c8d2e433d2c8a4f8dd5e8563104533e
2019-03-27Merge "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'" am: 4f42ac7989 am: d16c37d5a0 am: 3f5816670e Change-Id: Ie8d2a72af579b43437a56e2371ce7fee41a95251
2019-03-27Merge "Reland 'Check /dev/binder access before calling ↵Tri Vo
defaultServiceManager()'" am: 4f42ac7989 am: d16c37d5a0 Change-Id: I624ed23839a297b652701079aab7e6c091eefb4d
2019-03-27Merge "Reland 'Check /dev/binder access before calling defaultServiceManager()'"Tri Vo
am: 4f42ac7989 Change-Id: I4b1e7225c794feb31b2e7759a49667c80d9b3b30
2019-03-27Merge "Reland 'Check /dev/binder access before calling defaultServiceManager()'"Tri Vo
2019-03-25Merge "ashmemd: add TEST_MAPPING" am: dc0fc79c74 am: 6e165439aeTri Vo
am: 844b0b7e39 Change-Id: I51d36fa24ca70135403659a407cfb9fd64f02bbd
2019-03-25Merge "ashmemd: add TEST_MAPPING" am: dc0fc79c74Tri Vo
am: 6e165439ae Change-Id: Ia9a84759221dbb11108424ec18bd483faeb87e3b
2019-03-25Merge "ashmemd: add TEST_MAPPING"Tri Vo
am: dc0fc79c74 Change-Id: I0eefc4f70f0c1ff6fb61baaf378af13b370e25d8
2019-03-26Merge "ashmemd: add TEST_MAPPING"Tri Vo
2019-03-25Revert "Check /dev/binder access before calling defaultServiceManager()" am: ↵Tri Vo
2fd4b8732c am: f59d13c2bb am: c7707d1fce Change-Id: I6f576246c88bebb5810e3a706b03c602cf739a84
2019-03-25Revert "Check /dev/binder access before calling defaultServiceManager()" am: ↵Tri Vo
2fd4b8732c am: f59d13c2bb Change-Id: I523788f91b185a3de835477198d99c1a74b0a6b4
2019-03-25Revert "Check /dev/binder access before calling defaultServiceManager()"Tri Vo
am: 2fd4b8732c Change-Id: I9d810e0260ed300dd1a497850adf5096f57421eb
2019-03-25Reland 'Check /dev/binder access before calling defaultServiceManager()'Tri Vo
Vendor processes do not have access to /dev/binder. Calling defaultServiceManager() without RW permission will crash the process with error message "Binder driver could not be opened. Terminating." Normally, VNDK version of libcutils.so would not have the codepath of ashmemd. However, on non-VNDK this codepath is exercised. We check if the current process has permissions to /dev/binder before calling defaultServiceManager() to avoid crashing. The calling code in libcutils.so handles inability to connect ashmemd correctly. It will fall back to opening /dev/ashmem directly. Vendor code should already have permissions for that. This SELinux denial shows which permissions need to be checked for: avc: denied { read write } for name="binder" dev="tmpfs" ino=5570 scontext=u:r:hal_sensors_default:s0 tcontext=u:object_r:binder_device:s0 tclass=chr_file permissive=0 Note that the problem only manifests on non-VNDK devices. Bug: 129073672 Test: ashmemd_test Test: VtsHalSensorsV1_0TargetTest --gtest_filter=SensorsHidlTest.AccelerometerAshmemDirectReportOperationNormal Change-Id: If7319d09d092946d6f9bfac0d15b6ca2eae85a24
2019-03-25Revert "Check /dev/binder access before calling defaultServiceManager()"Tri Vo
This reverts commit 41b7c708217752a4b30cc022b5917957274c47e2. Reason for revert: boot denial on sailfish/marlin Change-Id: I3dad32c3b07bcab0a0bfffb9a06d66f767af7391
2019-03-25Check /dev/binder access before calling defaultServiceManager() am: ↵Tri Vo
41b7c70821 am: 5e682c2851 am: 1ab425f135 Change-Id: I6648512fd0d5074b7299f3b9148a9905c4f8c912
2019-03-25Check /dev/binder access before calling defaultServiceManager() am: 41b7c70821Tri Vo
am: 5e682c2851 Change-Id: Iaa776c7824bd4986d5618d2d5f2208ca023a5e99
2019-03-25Check /dev/binder access before calling defaultServiceManager()Tri Vo
am: 41b7c70821 Change-Id: Idfe934eb2e7339b7bfbbd4fbfaacbcce670baf72
2019-03-22Check /dev/binder access before calling defaultServiceManager()Tri Vo
Vendor processes do not have access to /dev/binder. Calling defaultServiceManager() without RW permission will crash the process with error message "Binder driver could not be opened. Terminating." Normally, VNDK version of libcutils.so would not have the codepath of ashmemd. However, on non-VNDK this codepath is exercised. We check if the current process has permissions to /dev/binder before calling defaultServiceManager() to avoid crashing. The calling code in libcutils.so handles inability to connect ashmemd correctly. It will fall back to opening /dev/ashmem directly. Vendor code should already have permissions for that. This SELinux denial shows which permissions need to be checked for: avc: denied { read write } for name="binder" dev="tmpfs" ino=5570 scontext=u:r:hal_sensors_default:s0 tcontext=u:object_r:binder_device:s0 tclass=chr_file permissive=0 Note that the problem only manifests on non-VNDK devices. Bug: 129073672 Test: ashmemd_test Test: VtsHalSensorsV1_0TargetTest --gtest_filter=SensorsHidlTest.AccelerometerAshmemDirectReportOperationNormal Change-Id: I6f4992fd701de77db7b0f9a1b0f1c7b58e547aec
2019-03-22ashmemd: add TEST_MAPPINGTri Vo
Bug: n/a Test: presubmit Change-Id: I21a805bddf5ae356b5c2dcd4814651f6b3ad2130
2019-02-08ashmemd: avoid sleep cycle on non-VNDK devices. am: 8411a3b016 am: 0d7dfbd354Tri Vo
am: 5b8024f3a4 Change-Id: I9cc910aad5e7d166622faf0216d84e5574f2ade2
2019-02-08ashmemd: avoid sleep cycle on non-VNDK devices. am: 8411a3b016Tri Vo
am: 0d7dfbd354 Change-Id: I9e14052779e1a5ca04f2a612994440f114b9c484
2019-02-08ashmemd: avoid sleep cycle on non-VNDK devices.Tri Vo
am: 8411a3b016 Change-Id: Iaea5bca7f97f5dd6385d5d0bb6a4d9f0d75ed029
2019-02-08ashmemd: avoid sleep cycle on non-VNDK devices.android-q-preview-1Tri Vo
On non-VNDK device (e.g. sailfish) the code path to ashmemd is the same, which results in vendor processes always failing to get ashmemd service. Use checkService() to fail immediately, instead of waiting for the service. Fixes: 123999623 Test: boot sailfish, no sleep cycles when trying to reach ashmemd. Change-Id: I4fce14fad28b509cd112370bc4cc2eafd45c6c75
2019-02-05ashmemd: daemon that provides /dev/ashmem fds am: df205799f3 am: dc048f1715Tri Vo
am: 1603bce403 Change-Id: I63ce1e02ac3670b705d2b21786e525bb92100637
2019-02-05ashmemd: daemon that provides /dev/ashmem fds am: df205799f3Tri Vo
am: dc048f1715 Change-Id: Iad6408ae0c238acd58b4565610408544824fad40
2019-02-05ashmemd: daemon that provides /dev/ashmem fdsTri Vo
am: df205799f3 Change-Id: I45720cf5fd010b0ff654b4cad97f8394a8049e22
2019-02-04ashmemd: daemon that provides /dev/ashmem fdsTri Vo
Motivation: we want to replace /dev/ashmem with memfd. To do so we need all usage of /dev/ashmem to go through libcutils. Once that happens, we migrate libcutils to use memfd. ashmemd is our way to enforce that apps are using the existing ASharedMemory_create API and not bypassing it to go directly to /dev/ashmem. ashmemd serves opened file descriptors. The following way should be the only way for apps to open an fd to /dev/ashmem: app -> ASharedMemory_create -> libcutils -> ashmemd -> /dev/ashmem Bug: 113362644 Test: ashmemd_test Change-Id: I9068cefa950f91dba0f1b75daca23f02d933b1c8
2019-01-29Initial empty repositoryInna Palant