Commit Graph

661 Commits (f42273dfd08d854098ce66502b22d34fa7950803)

Author SHA1 Message Date
Daniel Micay 8f9305df57 Android 12 is supported 2021-10-08 13:44:28 -04:00
anupritaisno1 cc0a1e1736 make hardened malloc vendor ramdisk avaiable
Signed-off-by: anupritaisno1 <www.anuprita804@gmail.com>
2021-10-08 13:43:11 -04:00
Daniel Micay 3b72a4f810 set C / C++ standard parameter for clang-tidy 2021-09-30 11:05:47 -04:00
Daniel Micay e41d37c3de remove unnecessary else 2021-09-30 10:57:05 -04:00
Daniel Micay 23969727d8 disable readability-function-cognitive-complexity 2021-09-30 10:55:12 -04:00
Daniel Micay 4d30b491e3 set up dependabot for GitHub Actions 2021-09-30 01:18:36 -04:00
Daniel Micay 11207a9c98 add GitHub workflow for building and running tests 2021-09-30 01:17:08 -04:00
Daniel Micay 801e8d959f disable mallinfo2 test for old glibc 2021-09-30 01:16:10 -04:00
Daniel Micay 8dfea34fc0 current AOSP stable branch is Android 11 QPR3 2021-09-05 01:59:45 -04:00
Daniel Micay 4d6456cf58 update libdivide to 5.0.0 2021-07-17 14:58:47 -04:00
Daniel Micay be6dde66f9 fix missing include for Intel MPK support 2021-05-21 09:07:28 -04:00
Daniel Micay e0ecacff45 drop support for legacy C++ versions 2021-05-21 09:00:39 -04:00
Daniel Micay 050871122b update non-Android max_map_count recommendation 2021-05-13 19:50:35 -04:00
Daniel Micay 27fcfccb67 make __GLIBC_PREREQ check for mallinfo2 portable 2021-05-12 22:53:20 -04:00
Daniel Micay 93a87ce30b add new mallinfo2 test to gitignore too 2021-05-12 21:13:06 -04:00
Daniel Micay da190f1469 mark pvalloc error path as unlikely 2021-05-12 21:01:13 -04:00
Daniel Micay b0f81365a8 reuse code for aligned allocation API entry points 2021-05-12 20:59:04 -04:00
Daniel Micay c9820b6e37 mark alloc_aligned_simple error path unlikely 2021-05-12 20:41:46 -04:00
Daniel Micay f1cdc1e484 remove disconcerting newline 2021-05-12 20:34:18 -04:00
Daniel Micay 26b74b87bf improve code reuse for malloc API entry points 2021-05-12 20:28:50 -04:00
Daniel Micay 89faba4232 set errno in malloc_get_state to match glibc 2021-05-12 20:19:12 -04:00
Daniel Micay a45dacc57b add support for glibc mallinfo2 2021-05-12 20:07:15 -04:00
Daniel Micay a71ab1a2eb MREMAP_DONTUNMAP may be usable in realloc 2021-05-12 10:51:52 -04:00
Daniel Micay 96a322bcbe raise max_map_count recommendation 2021-05-12 10:32:59 -04:00
Daniel Micay 92a1e456d2 use normal class region size on x86_64 Android 2021-05-12 05:11:30 -04:00
Daniel Micay 9706f5a311 increase class region size on Android to 2GiB 2021-05-12 03:07:33 -04:00
Daniel Micay 440489af67 purge memory if munmap fails 2021-05-12 01:05:39 -04:00
Daniel Micay f9a8e7216b purge slab memory even if using MAP_FIXED fails 2021-05-12 00:45:19 -04:00
Daniel Micay 5c974bdf82 use region quarantine even if MAP_FIXED call fails
This is a more sensible way of handling an out-of-memory failure in this
edge case. It doesn't matter much in practice.
2021-05-12 00:20:03 -04:00
Daniel Micay 2335f56713 add wrapper function for getting slot count 2021-05-10 07:04:50 -04:00
Daniel Micay 13a3aa16d0 improve naming of adjust_size_for_canaries 2021-05-07 04:23:49 -04:00
Daniel Micay 8bfa1a7dd5 use 1 slot for all extended size classes
This reduces memory usage and improves security in combination with the
guard slab feature.
2021-05-01 22:10:20 -04:00
Daniel Micay 3952645318 avoid unused variable for some configurations 2021-03-31 12:12:49 -04:00
Daniel Micay 1d15d34c7e return errors from memory_set_name too 2021-03-22 14:19:02 -04:00
Daniel Micay 29ffcdf810 portable error reporting for memory API 2021-03-22 13:59:16 -04:00
Daniel Micay f773a96b59 remove unnecessary sys/mman.h include 2021-03-22 12:25:22 -04:00
Daniel Micay b84af9b499 add wrapper for madvise 2021-03-22 12:24:26 -04:00
Daniel Micay 73b78a8adb document madvise for malloc_trim of quarantines 2021-03-22 11:17:00 -04:00
Daniel Micay e77ffa76d9 add initial malloc_trim slab quarantine purging
This currently only purges the quarantines for extended size classes.
2021-03-22 11:16:57 -04:00
Daniel Micay 86b0b3e452 fix !CONFIG_EXTENDED_SIZE_CLASSES configuration 2021-03-21 18:09:02 -04:00
Daniel Micay 7b03b5c629 update README for region quarantine change 2021-03-18 07:35:38 -04:00
Daniel Micay db21ecd529 use longer default region quarantine random array 2021-03-18 06:27:46 -04:00
Daniel Micay ee55acf116 update libdivide to 4.0.0 2021-03-09 02:38:16 -05:00
Daniel Micay a3b4c163eb drop unused header 2021-03-05 00:35:10 -05:00
Daniel Micay 325b82f1bd update to Android qpr2 branch as minimum 2021-03-01 16:52:30 -05:00
Daniel Micay ddd14bc421 avoid type comparison warning on some platforms 2021-02-16 17:18:35 -05:00
Daniel Micay 29b09648d6 avoid undefined clz and shift in edge cases
This is triggered when get_large_size_class is called with a size in the
range [1,4]. This can occur with aligned_alloc(8192, size). In practice,
it doesn't appear to cause any harm, but we shouldn't have any undefined
behavior for well-defined usage of the API. It also occurs if the caller
passes a pointer outside the slab region to free_sized but the expected
size is in the range [1,4]. That usage of free_sized is already going to
be considered undefined, but we should avoid undefined behavior in the
caller from triggering more undefined behavior when it's avoidable.
2021-02-16 08:31:17 -05:00
Thibaut Sautereau 1984cb3b3d malloc_object_size: avoid fault for invalid region
It's the region pointer that can be NULL here, and p was checked at the
beginning of the function.
2021-02-10 17:43:36 -05:00
Thibaut Sautereau 76860c72e1 malloc_usable_size: clean abort on invalid region
It's the region pointer that can be NULL here, and p was checked at the
beginning of the function. Also fix the test accordingly.
2021-02-10 17:41:17 -05:00
Daniel Micay 5c8b686370 update copyright notice 2021-01-06 20:38:55 -05:00