{"push_id":790356096,"size":32,"distinct_size":32,"ref":"refs/heads/cm-12.1","head":"18bc84dd7cef06e4202a8be84fd4bed945869402","before":"4899da13794097d48c1febd0f9de59eec834fb0d","commits":[{"sha":"ba7bd3c08f41bfe65bd783d56e383b68aed42be0","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"disable getentropy_fallback(...) outside of PID1","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/ba7bd3c08f41bfe65bd783d56e383b68aed42be0"},{"sha":"ab3b39b6419bcc02a8701464edf804d73670053a","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/ab3b39b6419bcc02a8701464edf804d73670053a"},{"sha":"635d08c55ba0e4612408f0aece2ac7a2f873bf3a","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"port OpenBSD malloc to bionic","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/635d08c55ba0e4612408f0aece2ac7a2f873bf3a"},{"sha":"7fa9fd732e66ad5a851a568be12d97b4969a36d7","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/7fa9fd732e66ad5a851a568be12d97b4969a36d7"},{"sha":"5bc4eb0faf7dae0c75c22ed7c19e4fa33b1b817f","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"finer-grained malloc dir_info ASLR via alignof","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/5bc4eb0faf7dae0c75c22ed7c19e4fa33b1b817f"},{"sha":"5c1bb34f93ae3ab5c0a9121e8ddaaad39871ea1b","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"name OpenBSD malloc metadata mappings\n\n* dir_info mapping and guard pages\n* region_info hash table mapping\n* chunk_info pages","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/5c1bb34f93ae3ab5c0a9121e8ddaaad39871ea1b"},{"sha":"75175130c2e77ecb2fc522516e74f1945e5a70ce","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"randomly sized malloc dir_info guard regions","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/75175130c2e77ecb2fc522516e74f1945e5a70ce"},{"sha":"c2fc0fb529285bd39af4a4bf669cdfa67f8c2669","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"disable the malloc_move feature by default\n\nMoving large allocations to the end of the allocating space helps to\nuncover bugs but it's a liability when guard pages aren't enabled.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/c2fc0fb529285bd39af4a4bf669cdfa67f8c2669"},{"sha":"23852bcf5fe54d3faa1c74d1384b9c94ddc72c53","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add system property for malloc options","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/23852bcf5fe54d3faa1c74d1384b9c94ddc72c53"},{"sha":"f86dce90b898d78e6c278f33cbec17859b15f14d","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/f86dce90b898d78e6c278f33cbec17859b15f14d"},{"sha":"0231aa35bf7491076bd3170c051536ba498dbab2","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/0231aa35bf7491076bd3170c051536ba498dbab2"},{"sha":"788825672500cbaa7ad7647def6d0becc8f594fd","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/788825672500cbaa7ad7647def6d0becc8f594fd"},{"sha":"605a9c31568c96c26085c35d38eae386e004911d","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/605a9c31568c96c26085c35d38eae386e004911d"},{"sha":"f19636725d8b29542a7e94dcd421cb91f6ccd60d","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/f19636725d8b29542a7e94dcd421cb91f6ccd60d"},{"sha":"0b816b228723ff2c3aa2df9b072ef56f9749b3ab","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add a fortified implementation of realpath\n\nChange-Id: Icc59eacd1684f7cddd83d7a2b57dad0c7ada5eb7","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/0b816b228723ff2c3aa2df9b072ef56f9749b3ab"},{"sha":"7775892ad8acd6052d7c782c9219e8efa91c1a5f","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add a fortified implementation of getcwd\n\nChange-Id: I95001ae4fe8f206db83e5c44d129ba11310695ce","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/7775892ad8acd6052d7c782c9219e8efa91c1a5f"},{"sha":"f3740c76c5a3eda770a2c493ebd26cfea49d3489","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"increase stack size to 8MiB on 64-bit","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/f3740c76c5a3eda770a2c493ebd26cfea49d3489"},{"sha":"f0b2076bc825d00d97dba3bec432a4138e2dbbc5","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"fix incompatibility 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.\n\nThe libc_init_common code needs to be compiled with -fno-stack-protector\nand can then be merged into libc_bionic.","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/f0b2076bc825d00d97dba3bec432a4138e2dbbc5"},{"sha":"4e80be7db1b726e90f69c489456503c01d8c3741","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"make vdso function pointers read-only at runtime\n\nGlobal, writable function pointers are low-hanging fruit for hijacking\ncontrol flow with an overflow from a global buffer or an arbitrary write\nvulnerability. This moves the function pointer table into a dedicated\npage and makes it read-only at runtime, similar to RELRO.\n\nThis increases the memory usage of the library by just under one page.\nThis could be avoided by having the linker load the vdso by replacing\nweak symbols. It's not significant within the Zygote spawning model\nthough because it's read-only after early init.\n\nChange-Id: Id7a49c96c1b15c2e1926528304b3c54a81e78caf","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/4e80be7db1b726e90f69c489456503c01d8c3741"},{"sha":"878c3858c44b13a144e188b1a6672f1b266038a1","author":{"email":"28efa798da98745d6a98078b320edd33f229eda6@gmail.com","name":"Daniel Micay"},"message":"add warn_unused_result to various functions\n\n* returning new dynamic allocations (FILE, strings)\n* not useful without error checking (ftrylockfile)","distinct":true,"url":"https://api.github.com/repos/copperhead-security/android_bionic/commits/878c3858c44b13a144e188b1a6672f1b266038a1"}]}