{"push_id":686950824,"size":22,"distinct_size":22,"ref":"refs/heads/cm-12.1","head":"cf99ee12bd047bb08f7e19e6a008066b4418176b","before":"f0de2e498e101425b3b50f0174ebb14cfc3ad221","commits":[{"sha":"8b8e5d32202bb15a93fa081bcaf18e1ec5dbe326","author":{"email":"c2dd1a32bb3e48cab508ee8058d27d4c1e5f29ec@gmail.com","name":"Varun Chitre"},"message":"libc : memcpy : allow to disable opt for some targets\n\nChange-Id: I487b9e208c032c7d01523e9b36984075027e9bff","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/8b8e5d32202bb15a93fa081bcaf18e1ec5dbe326"},{"sha":"ee1f74f657658a0bc4c6bb275577c25c05b764dc","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"set errno to ENOENT in getauxval per glibc 2.19\n\nBionic's getauxval(...) implementation returns zero when entries are\nmissing. Zero can be a valid value, so there is no unambiguous way of\ndetecting an error. Since glibc 2.19, errno is set to ENOENT when an\nentry is missing to make it possible to detect this. Bionic should match\nthis behavior as code in the Linux ecosystem will start relying on it to\ncheck for the presence of newly added entries.\n\nChange-Id: Ic1efe29bc45fc87489274c96c4d2193f3a7b8854\nSigned-off-by: Daniel Micay <danielmicay@gmail.com>","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/ee1f74f657658a0bc4c6bb275577c25c05b764dc"},{"sha":"b2c9a5279e1c2f8f03b9b17d64fe250ab4de597e","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add a proper issetugid implementation","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/b2c9a5279e1c2f8f03b9b17d64fe250ab4de597e"},{"sha":"bedb8c101da90d56b60ee9e5892c2699b9f682dd","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add GNU secure_getenv function","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/bedb8c101da90d56b60ee9e5892c2699b9f682dd"},{"sha":"d01e63fb2de030f7ea19060ae5f60535e8043d6f","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"switch pthread_atfork handler allocation to mmap\n\nThis makes it possible to use arc4random inside malloc, and prevents\nthese function pointers from being modified outside of the scope where\na new handler is being appended.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/d01e63fb2de030f7ea19060ae5f60535e8043d6f"},{"sha":"13576a80b0d1b837e6871576dd4311159f229736","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add memory protection for at_quick_exit too","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/13576a80b0d1b837e6871576dd4311159f229736"},{"sha":"81af90121d220a98171da917bd0e21ead7ea2b7a","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"replace brk and sbrk with stubs\n\nPretend that there is never room to grow the heap in order to prevent\nusage of these unsafe legacy functions. There are likely no users of\nthese in practice as it is inherently broken to use them outside of\nmalloc.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/81af90121d220a98171da917bd0e21ead7ea2b7a"},{"sha":"5e6836986b6d5146acfbcafcc7b7a7dc2f9c8922","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"make getentropy work without /dev/urandom","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/5e6836986b6d5146acfbcafcc7b7a7dc2f9c8922"},{"sha":"177e6288f7766f1083f13bc5295db9aab204618d","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add OpenBSD malloc implementation","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/177e6288f7766f1083f13bc5295db9aab204618d"},{"sha":"2c983ec0c7283d20df5955350b7923365acad3e4","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"initial port of omalloc to bionic","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/2c983ec0c7283d20df5955350b7923365acad3e4"},{"sha":"b8b4eef1474cb97570c251b96d2a67467f92ef30","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"integrate the hardened memory allocator","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/b8b4eef1474cb97570c251b96d2a67467f92ef30"},{"sha":"8f4768a3e03f8fb03bdebb9c7ac3f67c25218144","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"use pthread_atfork for the malloc lock","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/8f4768a3e03f8fb03bdebb9c7ac3f67c25218144"},{"sha":"52dd296d153d60062be145cdd87df5dfca8bdc42","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"define HAVE_GETAUXVAL for getentropy_fallback","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/52dd296d153d60062be145cdd87df5dfca8bdc42"},{"sha":"7573912c30871173a022378f4d642d711701a656","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add low entropy ASLR for secondary stacks\n\nChoose a random base using up to page of padding for stack sizes at\nleast 16 pages large. The minimum stack alignment is assumed to be 16\nbytes, resulting in 8-bit entropy. The goal is to make finding the mmap\nbase from a stack address unreliable.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/7573912c30871173a022378f4d642d711701a656"},{"sha":"5d73c320bd3a49d3b3f66a70ec647b6d9acf90fe","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add explicit_memset and fix explicit_bzero with it\n\nClang, GCC and other compilers special-case standard C functions like\nmemset. Calls to memset will be optimized out if nothing uses the\nresult, defeating usage as an information sanitization mechanism.\n\nOpenBSD provides explicit_bzero to work around this but Android simply\ndefines it as memset so nothing prevents it from being optimized away.\n\nThe explicit_memset function comes from NetBSD and can be used as a\ndrop-in replacement for memset with the guarantee that it won't be\noptimized out.\n\nThis implementation uses a memory read constraint via empty inline\nassembly rather than something that may be broken via link-time\noptimization in the future.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/5d73c320bd3a49d3b3f66a70ec647b6d9acf90fe"},{"sha":"5f971c325848f4f78defd5a585a2ed154008cb22","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add guard pages to the internal signal stacks\n\nSignal handlers tend to be lean, but can still overflow the (tiny)\nstack.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/5f971c325848f4f78defd5a585a2ed154008cb22"},{"sha":"19dafcebd6067340495ee515042e0e8f696765a9","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"fix issue with -fstack-protector-strong\n\nThe __libc_init_tls function in libc_init_common.cpp takes a reference\nto a local variable so it ends up being protected. Since this happens\nbefore TLS and the stack guard value are initialized, it breaks.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/19dafcebd6067340495ee515042e0e8f696765a9"},{"sha":"c32010c89a633e60abcfbfa910db579f0f1deef1","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add fortified implementations of pread/pread64","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/c32010c89a633e60abcfbfa910db579f0f1deef1"},{"sha":"d21d3b41924a4c91e6e57d4df7448d981753bd9b","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add fortified readlink/readlinkat implementations","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/d21d3b41924a4c91e6e57d4df7448d981753bd9b"},{"sha":"9493371b517e5a8d2b7cda3207bf1461d45b5193","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add fortified memchr/memrchr implementations","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/9493371b517e5a8d2b7cda3207bf1461d45b5193"}]}