Lelmister101
1bdbb2d3f7
minor typo fix
...
“entirely independently arenas” changed to “entirely independent arenas”
2021-11-23 15:39:53 -05:00
Thibaut Sautereau
a33d2ca97d
Fix CPPFLAGS in test Makefile
...
In particular, the _GNU_SOURCE feature test macro needs to be set in
order to correctly define mmap(2) flags such as MAP_ANONYMOUS.
Otherwise, compilation of some test files fails when CPPFLAGS is not
defined in the initial user environment, as Make then does not export it
from the root Makefile to the sub-make.
2021-11-02 16:13:09 -04:00
Daniel Micay
aa94408cc2
fix wording
2021-10-19 23:52:18 -04:00
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