summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* debuggerd: Rebrand tombstone header to ReplicantHEADreplicant-6.0-0001replicant-6.0Wolfgang Wiedmeyer2017-05-021-1/+1
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* Merge branch 'cm-13.0' of https://github.com/LineageOS/android_system_core ↵Wolfgang Wiedmeyer2017-05-021-1/+1
|\ | | | | | | into replicant-6.0
| * debuggerd: Rebrand tombstone header to LineageOSHarry Youd2017-02-111-1/+1
| | | | | | | | | | Change-Id: Idd08c2eb7e395b464b1510742bf52833f465db08 (cherry picked from commit 4a427dfce617e1c3cc8b85b7196be24b495d9f4e)
* | Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_system_core ↵Wolfgang Wiedmeyer2016-12-131-1/+6
|\ \ | |/ | | | | into replicant-6.0
| * Fix out of bound access in libziparchiveTianjie Xu2016-12-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The boundary check of an invalid EOCD record may succeed due to the overflow of uint32_t. Fix the check. Test: Open the crash.apk and libziparchive reports the offset error as expected. CYNGNOS-3312 Bug: 31251826 Change-Id: I1d8092a19b73886a671bc9d291cfc27d65e3d236 (cherry picked from commit ae8180c06dee228cd1378c56afa6020ae98d8a24) (cherry picked from commit 1ee4892e66ba314131b7ecf17e98bb1762c4b84c) (cherry picked from commit 7f246f7fdd2f003c6f3701f599052a2040af6bfb)
* | Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_system_core ↵Wolfgang Wiedmeyer2016-12-1240-287/+1205
|\ \ | |/ | | | | into replicant-6.0
| * init: Fix possible open file pointerMichael W2016-11-131-1/+3
| | | | | | | | | | | | | | In error case the file is not closed properly. Add close() before return Change-Id: Ie1755987859a576045c786105404957d94f0b39d
| * Merge tag 'android-6.0.1_r74' into HEADJessica Wagantall2016-11-094-1/+91
| |\ | | | | | | | | | | | | | | | | | | | | | CYNGNOS-3303 Android 6.0.1 release 74 Change-Id: I2dade45f30d4ca2fa8c6efa5c7242de1a02f5c15
| | * liblog: add __android_log_close()Mark Salyzyn2016-09-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 30963384 (cherry picked from commit df7a4c6bae5f85532d79a93b7d9197a2aab17825) Change-Id: Ide70df3c04e29301649a1ca234b1b0af687bcbfb (cherry picked from commit b1b5d507cba4b37221016d308dbf9fdd39019108)
| | * liblog: add __android_log_close()Mark Salyzyn2016-09-274-1/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 30963384 (cherry picked from commit df7a4c6bae5f85532d79a93b7d9197a2aab17825) Change-Id: I2255486e84dd55af0f4e7fbbfb616c2deb1765d0 (cherry picked from commit 2d149691552676968b7de337f543463b920578b0)
| | * Fix vold vulnerability in FrameworkListenerConnor O'Brien2016-08-252-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify FrameworkListener to ignore commands that exceed the maximum buffer length and send an error message. Bug: 29831647 Change-Id: I9e57d1648d55af2ca0191bb47868e375ecc26950 Signed-off-by: Connor O'Brien <connoro@google.com> (cherry picked from commit baa126dc158a40bc83c17c6d428c760e5b93fb1a) (cherry picked from commit 470484d2a25ad432190a01d1c763b4b36db33c7e)
| * | Merge tag 'android-6.0.1_r72' into HEADJessica Wagantall2016-10-062-3/+15
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Android 6.0.1 Release 72 (M4B30X) # gpg: Signature made Tue 04 Oct 2016 09:47:47 AM PDT using DSA key ID 9AB10E78 # gpg: Can't check signature: public key not found
| | * | Fix vold vulnerability in FrameworkListenerConnor O'Brien2016-08-262-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify FrameworkListener to ignore commands that exceed the maximum buffer length and send an error message. Bug: 29831647 Change-Id: I9e57d1648d55af2ca0191bb47868e375ecc26950 Signed-off-by: Connor O'Brien <connoro@google.com> (cherry picked from commit baa126dc158a40bc83c17c6d428c760e5b93fb1a) (cherry picked from commit 470484d2a25ad432190a01d1c763b4b36db33c7e)
| | * | debuggerd: fix missed use of ptrace(PTRACE_ATTACH).Josh Gao2016-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | Bug: http://b/29555636 Change-Id: Ibd8a2e2b619b74aac667555b7085d6f28e367c07
| | * | DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.Josh Gao2016-08-164-11/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix two races in debuggerd's PTRACE_ATTACH logic: 1. The target thread in a crash dump request could exit between the /proc/<pid>/task/<tid> check and the PTRACE_ATTACH. 2. Sibling threads could exit between listing /proc/<pid>/task and the PTRACE_ATTACH. Backport of NYC change I4dfe1ea30e2c211d2389321bd66e3684dd757591 Bug: http://b/29555636 Change-Id: I6c6efcf82a49bca140d761b2d1de04215ba4d252
| | * | adb: use asocket's close function when closing.Josh Gao2016-08-161-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | close_all_sockets was assuming that all registered local sockets used local_socket_close as their close function. However, this is not true for JDWP sockets. Bug: http://b/28347842 Change-Id: I40a1174845cd33f15f30ce70828a7081cd5a087e (cherry picked from commit 53eb31d87cb84a4212f4850bf745646e1fb12814) (cherry picked from commit 014b01706cc64dc9c2ad94a96f62e07c058d0b5d)
| | * | adb: switch the socket list mutex to a recursive_mutex.Josh Gao2016-08-164-45/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sockets.cpp was branching on whether a socket close function was local_socket_close in order to avoid a potential deadlock if the socket list lock was held while closing a peer socket. Bug: http://b/28347842 Change-Id: I5e56f17fa54275284787f0f1dc150d1960256ab3 (functionally a cherrypick of 903b749f + 9b587dec, with windows disabled)
| | * | libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8Sergio Giro2016-08-164-18/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length is causing a heap overflow. Correcting the length computation and adding bound checks to the conversion functions. Test: ran libutils_tests Bug: 29250543 Change-Id: I6115e3357141ed245c63c6eb25fc0fd0a9a7a2bb (cherry picked from commit c4966a363e46d2e1074d1a365e232af0dcedd6a1)
| * | | fastboot: Add Alcatel's USB vendor idc4572016-09-221-1/+2
| | | | | | | | | | | | | | | | Change-Id: Ic4f127c8dcd5db0c039491128862b791197f5c84
| * | | Merge tag 'android-6.0.1_r66' into HEADJessica Wagantall2016-09-0713-77/+292
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | Android 6.0.1 release 66 Change-Id: I5ccc6e68283e30b8d0419eb7512c7183e58ec5ed
| | * | debuggerd: fix missed use of ptrace(PTRACE_ATTACH).Josh Gao2016-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | Bug: http://b/29555636 Change-Id: Ibd8a2e2b619b74aac667555b7085d6f28e367c07
| | * | DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.Josh Gao2016-07-214-11/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix two races in debuggerd's PTRACE_ATTACH logic: 1. The target thread in a crash dump request could exit between the /proc/<pid>/task/<tid> check and the PTRACE_ATTACH. 2. Sibling threads could exit between listing /proc/<pid>/task and the PTRACE_ATTACH. Backport of NYC change I4dfe1ea30e2c211d2389321bd66e3684dd757591 Bug: http://b/29555636 Change-Id: I6c6efcf82a49bca140d761b2d1de04215ba4d252
| | * | adb: use asocket's close function when closing.Josh Gao2016-07-211-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | close_all_sockets was assuming that all registered local sockets used local_socket_close as their close function. However, this is not true for JDWP sockets. Bug: http://b/28347842 Change-Id: I40a1174845cd33f15f30ce70828a7081cd5a087e (cherry picked from commit 53eb31d87cb84a4212f4850bf745646e1fb12814) (cherry picked from commit 014b01706cc64dc9c2ad94a96f62e07c058d0b5d)
| | * | adb: switch the socket list mutex to a recursive_mutex.Josh Gao2016-07-214-45/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sockets.cpp was branching on whether a socket close function was local_socket_close in order to avoid a potential deadlock if the socket list lock was held while closing a peer socket. Bug: http://b/28347842 Change-Id: I5e56f17fa54275284787f0f1dc150d1960256ab3 (functionally a cherrypick of 903b749f + 9b587dec, with windows disabled)
| | * | libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8Sergio Giro2016-07-214-18/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length is causing a heap overflow. Correcting the length computation and adding bound checks to the conversion functions. Test: ran libutils_tests Bug: 29250543 Change-Id: I6115e3357141ed245c63c6eb25fc0fd0a9a7a2bb (cherry picked from commit c4966a363e46d2e1074d1a365e232af0dcedd6a1)
| * | | libutils: fix deadlock in elapsedRealtimeNanoScott Mertz2016-08-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If n > 2 threads all lock the mutex awaiting the clock method to be set, the 1st thread will first set the method and unlock. The 2nd thread will then take the mutex, but never unlock because the clock_method has already been updated by the 1st thread. This causes a deadlock for threads 3-n. Solution is to ensure the calling thread always unlocks the mutex if it has previously locked it. Log: "main" prio=5 tid=1 Native | group="main" sCount=1 dsCount=0 obj=0x733313b0 self=0xb4cf6500 | sysTid=12786 nice=0 cgrp=default sched=0/0 handle=0xb6f86b44 | state=S schedstat=( 41990410 32985836 80 ) utm=3 stm=1 core=2 HZ=100 | stack=0xbe5fb000-0xbe5fd000 stackSize=8MB | held mutexes= native: #00 pc 00017638 /system/lib/libc.so (syscall+28) native: #01 pc 0003ffa5 /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci+504) native: #02 pc 000400a9 /system/lib/libc.so (pthread_mutex_lock+26) native: #03 pc 0000fa01 /system/lib/libutils.so (_ZN7android19elapsedRealtimeNanoEv+16) native: #04 pc 0000fb1f /system/lib/libutils.so (_ZN7android15elapsedRealtimeEv+2) native: #05 pc 00214d1d /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_SystemClock_elapsedRealtime__+72) "Thread-6372" prio=5 tid=9 Native | group="main" sCount=1 dsCount=0 obj=0x32c05120 self=0xacb58100 | sysTid=12829 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xb38c3930 | state=S schedstat=( 869427 8219115 17 ) utm=0 stm=0 core=2 HZ=100 | stack=0xb37c1000-0xb37c3000 stackSize=1038KB | held mutexes= native: #00 pc 00017638 /system/lib/libc.so (syscall+28) native: #01 pc 0003ffa5 /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci+504) native: #02 pc 000400a9 /system/lib/libc.so (pthread_mutex_lock+26) native: #03 pc 0000fa01 /system/lib/libutils.so (_ZN7android19elapsedRealtimeNanoEv+16) native: #04 pc 0000fb1f /system/lib/libutils.so (_ZN7android15elapsedRealtimeEv+2) native: #05 pc 00214d1d /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_SystemClock_elapsedRealtime__+72) HAM-1470 Change-Id: I41874d2b0ea034a35a74da030398231089c15cde
| * | | Merge tag 'android-6.0.1_r61' into HEADJessica Wagantall2016-08-021-0/+5
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | Android 6.0.1 Release 61 (MOB30Z) Change-Id: I84413f1198957a53433955e617a7226639262f40
| | * | add a property for controlling perf_event_paranoidDaniel Micay2016-06-231-0/+5
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a system property for controlling unprivileged access to perf_event_paranoid. It depends on adding kernel support for perf_event_paranoid=3 based on grsecurity's PERF_HARDEN feature to completely disable unprivileged access to perf. A minimal port of this feature is used in the vanilla Debian kernel by default. It hides the non-hardened value as an implementation detail, since while it is currently 1, it will probably become 2 in the future. (Cherry picked from commit 2b22a66382db8a2fdf5ed7a685085a6d7d67cf12) Bug: 29054680 Change-Id: I6e3ae3cf18d8c76df94f879c34fb6fde519b89a9
| | * Fix scanf %s in lsof.Elliott Hughes2016-05-271-3/+4
| | | | | | | | | | | | | | | Bug: http://b/28175237 Change-Id: Ief0ba299b09693ad9afc0e3d17a8f664c2fbb8c2
| * | healthd: Add DASH charger typeSteve Kondik2016-07-281-0/+1
| | | | | | | | | | | | Change-Id: Ie1ca5018c465f6b2c15cbc00bdf3bb866d98ddef
| * | sdcard: Pass the umask to sdcardfs correctlySteve Kondik2016-07-261-6/+6
| | | | | | | | | | | | | | | | | | | | | * Google version of the kernel code expects unsigned int rather than octal. Don't confuse it. Change-Id: I40f060dc5212ec587e612dc275001e1a660cce67
| * | sdcard: Fix sdcardFS checkZhao Wei Liew2016-07-241-1/+1
| | | | | | | | | | | | | | | | | | This check is inverted, breaking FUSE. Change-Id: I81a710f464bce73f49fb1af6050a198b5f443f52
| * | sdcard: Add support for sdcardfs!Steve Kondik2016-07-231-20/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sdcardfs is a kernel filesystem developed by Samsung and recently seen in AOSP's common kernel branches. It entirely eliminates the need to use FUSE for sdcard emulation and moves all the wrapping logic to kernel. This vastly improves performance for use cases which read/write to emulated as well as removable cards. Change-Id: I3e394a99e0a4b5beacaeddc0d4dd4855ff0cf082
| * | libcutils: abort for invalid fdMark Salyzyn2016-07-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | If ashmem accessors are being called with a file descriptor that belongs to anything other than ashmem, we need to stop it right now so that they can fix the caller. Bug: 26871259 Change-Id: Icf9aafc3631a80b9af6fe0fea03599d61e285d21
| * | libcutils: ashmem print error message for invalid fdMark Salyzyn2016-07-151-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | NB: We decided to not sniff for the constant saved __ashmem_rdev in the early error path; requiring either the use of atomic operations, or acquiring a lock to do it correctly. The heroics are not worth it. Bug: 26871259 Change-Id: I46249838850ae32063eb5b7d08c731c5bb0fbf6b
| * | libcutils: ashmem check fd validityMark Salyzyn2016-07-151-1/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - collect st_rdev on open, or when required, for /dev/ashmem. - check in all cases if fd is a character device and matches rdev. - requires that we have open, read and write access to /dev/ashmem to check, assumption being that if we can not, then we have no right playing with the associated misdirected file descriptor. NB: ashmem libcutil library entry points can no longer be called in signal context. Bug: 26871259 Change-Id: I9a17e33317a9be795131473a51c16f761b5f7407
| * | libcutils: ashmem fortify and comply with Android coding standardMark Salyzyn2016-07-152-30/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - sort header order and in groups - remove all tabs, use only spaces - use TEMP_FAILURE_RETRY in system calls - preserve errno for -1 return Bug: 26871259 Change-Id: I94fffbcaeba01fcc18a3ed07c02389c06c54d3b7
| * | healthd: Check if battery device exists instead of charger drivers beforeRuchi Kandoi2016-07-101-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setting fake properties. healthd used to check for registered charger drivers to determine if the device is an always-plugged device with no battery. This patch changes it to check for battery instead. Change-Id: Ie4ff5d3f21dc1a83a780a41eb0c929f66b86d631 Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
| * | healthd: Write to blink file to fix LEDTom Marshall2016-07-062-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Many devices (such as bacon) require touching a blink file before changes to the LED are committed to hardware. Jira: CYAN-7689 Change-Id: Ia18a62134d196a636352bcd1af924c407c19d5b4
| * | healthd: Support new PD and USB Type C typesBenson Leung2016-07-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See the new types added here : https://chromium-review.googlesource.com/304660 Add support for these. Signed-off-by: Benson Leung <bleung@google.com> Change-Id: I12c51e0611692a763a7f1cda57c77ad83d7aa7ea
| * | Copy the ETB dumps and maps file to /data/coreMaunik Shah2016-06-301-0/+80
| | | | | | | | | | | | | | | | | | | | | On enabling the persist.debug.trace, ETB maps and dumps will be copied to /data/core only for the first crash. Change-Id: I521ee02e30ce1b4ebaca2c6b398c828286a5115d
| * | Don't use global variable in libnetutils.sanketk2016-06-301-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In netd, both CommandListener and NetlinkHandler thread will use libnetutils' function. Original implementation will use a global file descriptor in mutiple functions. It will cause problems when these functions are invoked from different thread. This change will make NetlinkHandler thread use local file descriptor instead of global one. CRs-fixed: 853158 Change-Id: I66458e99e48197e7a56cbb212344423290db12bd
| * | Merge tag 'android-6.0.1_r46' into HEADJessica Wagantall2016-06-071-1/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | Android 6.0.1 release 46 # gpg: Signature made Mon 06 Jun 2016 10:39:22 AM PDT using DSA key ID 9AB10E78 # gpg: Can't check signature: public key not found
| | * Fix overflow in path buildingDaniel Rosenberg2016-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | An incorrect size was causing an unsigned value to wrap, causing it to write past the end of the buffer. Bug: 28085658 Change-Id: Ie9625c729cca024d514ba2880ff97209d435a165
| * | debuggerd: add CM version to tombstonesScott Mertz2016-05-251-0/+3
| | | | | | | | | | | | Change-Id: I7822a2e133a2f326ad2d8da8f79b0064344d59bf
| * | init: Allow devices to opt-out of fsck'ing on power offChristopher R. Palmer2016-05-162-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | On the zenfone2 the fsck code patch kills alls processes. This causes watchdogd to get killed which then causes the system to emergency reboot instead of powering off. Change-Id: Ibcc74825df6571caa70e2dde7766a72b7749581b
| * | rootdir: Put bootanimation service in system-background groupSteve Kondik2016-05-161-0/+1
| | | | | | | | | | | | | | | | | | | | | * This keeps it from hogging the big cores and heating up the device. Change-Id: I0ba6abef537ad65978dd77ec706f6e3777cac804
| * | Use fsck.f2fs -a instead of -f for faster bootYusuke Sato2016-05-055-38/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and run fsck with -f on clean shutdown instead. With -f, fsck.f2fs always performs a full scan of the /data partition regardless of whether the partition is clean or not. The full scan takes more than 2 seconds on volantis-userdebug and delays the OS boot. With -a, the command does almost nothing when the partition is clean and finishes within 20-30ms on volantis-userdebug. When the partition has an error or its check point has CP_FSCK_FLAG (aka "need_fsck"), the command does exactly the same full scan as -f to fix it. Bug: 21853106 Change-Id: I126263caf34c0f5bb8f5e6794454d4e72526ce38
| * | Revert "Revert "fs_mgr: let fsck.f2fs actually attempt a fix""Steve Kondik2016-05-051-6/+6
| | | | | | | | | | | | | | | | | | This reverts commit 33ecd3756347ef2663e500949ab4b33392086fbc. Change-Id: Ifa430fca72eee3e6f49d5a259c1058f5c3829960
| * | Merge tag 'android-6.0.1_r43' into HEADJessica Wagantall2016-05-031-16/+0
| |\ \ | | |/ | | | | | | | | | | | | | | | Ticket: CYNGNOS-2373 Android 6.0.1 release 43 (MOB30J) Change-Id: I917deb1f8604eea69f55243a9fb783eb2cd4062c