* Apparently this is now required on all non full treble devices since
google added a sleep(1) in libhidl...
Change-Id: I9d473c88157d87c440b6f5f07776695a384f0336
* Google has been tightening up mutexes by disallowing calling
pthread_mutex_destroy on an already destroyed mutex in P
* This normally isn't an issue, but Qualcomm, in their infinite
wisdom, decided to destroy a mutex in a loop in isp_module_stop_session
when they were freeing some related memory allocations
* This results in a SIGABRT in mm-qcamera-daemon from a
__fortify_fatal call in HandleUsingDestroyedMutex in libc
* To work around this, phtread_mutex_destroy and phtread_cond_destroy
moved outside of the loop so they only calls 1 time
* ASM instructions
before:
.text:00007662 LDR R6, [SP,#0x40+ptr]
.text:00007664 ADD R5, R9
.text:00007666 SUBS R7, #1
.text:00007668 BNE loc_7606
.text:0000766A ADD.W R0, R6, #0x146000
.text:0000766E ADD.W R0, R0, #0x5A0 ; mutex
.text:00007672 BLX pthread_mutex_destroy
after:
.text:00007662 MOVS R0, R0
.text:00007664 MOVS R0, R0
.text:00007666 MOVS R0, R0
.text:00007668 MOVS R0, R0
.text:0000766A ADD.W R0, R6, #0x146000
.text:0000766E ADD.W R0, R0, #0x5A0 ; mutex
.text:00007672 BLX pthread_mutex_destroy
Change-Id: I36dfab9f3afb8c9e010da8c6b02c2d9eff856c07
Unless the device crashes few times at the first boot
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: I0d48eeaf4b434280657b00753b4bf287b160f2f7
writepid command usage to join a cgroup has been deprecated in favor
of a more flexible approach using task_profiles. This way cgroup path
is not hardcoded and cgroup changes can be easily made. Replace
writepid with task_profiles command to migrate between cgroups.
Bug: 191283136
Test: build and boot
Refers to:
https://review.lineageos.org/c/LineageOS/android_device_xiaomi_gauguin/+/324467
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: I0005d141f15713f277d1de3be46fd3c25de8deef
To fix the error below:
E ashmem : memfd: ro.vndk.version not defined or invalid (), this is mandated since P
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: Id019485ed9432d7780e64bacf8781656fb595248
This service got uprev'd in hardware/samsung project.
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: I59705292f45bd76cd76355fd345d6a3495ece62f
This resolves the absence of the following symbol:
_ZN7android23sp_report_stack_pointerEv
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: I04538953f867bcf057511240429b09cbcffbbfde
Google's prebuilt cgroups.json and task_profiles.json for products
launched with previous API levels only covers
ro.product.first_api_level >= 28. [1]
gts3l were launched with Nougat (API level 24), so schedtune and
task groups are completely broken. Since the system also checks
/vendor/etc for vendor profiles, make a copy of cgroups_28.json
and task_profiles_28.json and ship them to /vendor/etc. Profiles
for previous API levels are all the same anyway.
Test: boot and check /dev/stune/
[1] system/core/libprocessgroup/profiles/
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: I2d57d7d0c35357d1f4fd30fb2d6f99a83ee01e84