Daniel Micay
64dad0a69f
drop legacy glibc support
2023-06-10 14:04:46 -04:00
Daniel Micay
95c4b40caf
update minimum dependency version list
2023-06-10 14:02:55 -04:00
Daniel Micay
cc70583beb
drop info on MPK with unsupported kernels
2023-06-10 13:59:56 -04:00
Daniel Micay
62a98efb13
update supported Android branch
2023-06-10 13:59:36 -04:00
Daniel Micay
d3152b8e8f
preserve errno for free calls
...
This is a future POSIX requirement recently implemented by musl and
glibc.
2023-02-17 13:07:26 -05:00
Daniel Micay
2e9daf3122
merge fprintf/fputs calls in malloc_info
2023-02-17 13:07:26 -05:00
Daniel Micay
6038030d0b
no need to check for -fstack-clash-protection
...
This is supported by the compiler versions listed as minimum
requirements in the README.
2023-02-17 13:07:26 -05:00
Daniel Micay
4d23fa37ad
enable Intel CET support
2023-02-17 13:07:26 -05:00
Daniel Micay
6d36e758f5
update copyright notice
2023-02-17 13:07:26 -05:00
Daniel Micay
cd9b875297
reorganize compiler switches
2023-02-17 13:07:24 -05:00
Daniel Micay
2250130c53
remove unnecessary UNUSED marker
2022-09-16 01:03:47 -04:00
Daniel Micay
72dba6765f
disable tidy identifier length lint
2022-09-16 00:57:08 -04:00
Daniel Micay
8f38bbdee6
add configuration for self-init
...
This needs to be disabled for compatibility with the exploit protection
compatibility mode on GrapheneOS. hardened_malloc shouldn't be trying to
initialize itself when exploit protection compatibility mode is enabled.
This has to be handled in our Bionic integration instead.
2022-09-14 03:41:31 -04:00
Daniel Micay
dd427cb3b8
arm64 page table / page size docs
2022-09-08 23:17:25 -04:00
Daniel Micay
b5dd9d11d9
raise class region size to 32GB for arm64 Android
2022-09-08 23:13:15 -04:00
Daniel Micay
72fb3576f5
Android 13 is now all we'll be supporting
2022-08-16 07:48:47 -04:00
Dmitry Muhomor
f8fec401c7
update Android.bp for Android 13
2022-08-16 07:46:44 -04:00
Daniel Micay
0d6d63cbe7
improve package installation for CI
2022-03-11 22:09:13 -05:00
dependabot[bot]
8fd31e4bc1
Bump actions/checkout from 2 to 3
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 13:44:16 -05:00
jvoisin
b511696c55
clean up includes and remove non-portable includes
...
This marginally increases the portability of hardened_malloc,
eg. on OSX.
2022-02-07 07:14:51 -05:00
jvoisin
943704de7c
Remove __pycache__ as well in make clean
2022-02-06 18:56:56 -05:00
jvoisin
04a86566c3
Don't depend on gcc_s
2022-01-28 14:59:58 -05:00
Daniel Micay
448170a412
fix case for non-macro constant
2022-01-21 23:59:37 -05:00
Daniel Micay
995ce07d45
add is_init likely/unlikely markers
2022-01-21 19:46:49 -05:00
Daniel Micay
c9d1abcd7e
explicitly mark fatal error conditions unlikely
2022-01-21 19:45:05 -05:00
Daniel Micay
8f0b252c33
mark more out-of-memory conditions as unlikely
2022-01-21 19:03:02 -05:00
Daniel Micay
3cffc1e1af
treat zero size malloc as unlikely
...
Calls to malloc with a zero size are extremely rare relative to normal
usage of the API. It's generally only done by inefficient C code with
open coded dynamic array implementations where they aren't handling zero
size as a special case for their usage of malloc/realloc. Efficient code
wouldn't be making these allocations. It doesn't make sense to optimize
for the performance of rare edge cases caused by inefficient code.
2022-01-21 18:27:04 -05:00
Daniel Micay
ae2524bf88
ignore environment for test Makefile variables
2022-01-21 16:24:49 -05:00
Daniel Micay
e28addda19
add back gitignore entries
2022-01-21 15:07:13 -05:00
Daniel Micay
9d89712386
remove extra newline
2022-01-21 15:06:29 -05:00
jvoisin
84eadd8568
Move memory corruption tests up a directory
2022-01-21 15:00:18 -05:00
Daniel Micay
0bbcc5d610
malloc.c was renamed to h_malloc.c
2022-01-19 16:42:12 -05:00
jvoisin
3fa30842ed
Use $(MAKE) instead of make in Makefiles
...
This will pass the correct flags to the make
invocations.
2022-01-17 16:21:00 -05:00
Daniel Micay
b3d78bd5f6
use static const for local constants
2022-01-16 21:02:17 -05:00
Daniel Micay
8d61e63274
add comment about special small size classes
2022-01-16 20:50:49 -05:00
Daniel Micay
422ee78b3e
reorganize pages.h header
2022-01-16 16:57:22 -05:00
Daniel Micay
3e312695e1
document clz64/log2u64 not being able to handle 0
2022-01-16 16:28:49 -05:00
Daniel Micay
81cf2f27a0
calculate slab size class instead of array loop
2022-01-16 16:18:14 -05:00
Daniel Micay
d8cb2d9f7a
use consistent wrappers around clz/ffs
2022-01-16 15:39:59 -05:00
Daniel Micay
86f9c739ee
define constant for u64 bit width
2022-01-16 15:06:36 -05:00
Daniel Micay
536f852538
reuse a single size alignment implementation
2022-01-16 14:44:28 -05:00
Daniel Micay
e814cf4f5c
enable linking optimization for GNU linker
2022-01-16 12:18:00 -05:00
Daniel Micay
705211ef49
define UBSan flags for SHARED_FLAGS to reuse it
2022-01-16 11:50:55 -05:00
Daniel Micay
189d3362d5
enable sized deallocation ABI for consistency
2022-01-16 11:49:51 -05:00
Daniel Micay
e2bcf4a356
stop silencing constant logical operand warning
...
This was resolved by 3696f071a4
.
2022-01-13 14:51:22 -05:00
Daniel Micay
d470ae56a5
switch Android build to C17 from C11
2022-01-13 14:48:56 -05:00
Daniel Micay
42b097f3b0
CONFIG_SEAL_METADATA is regularly tested now
2022-01-13 14:25:41 -05:00
Daniel Micay
17891d743e
switch from c11 to c17 standard
2022-01-12 10:20:47 -05:00
Daniel Micay
efd71e70c7
update documentation based on light configuration
2022-01-12 08:58:00 -05:00
Daniel Micay
a6d27848af
wrap overly long line
2022-01-12 08:44:39 -05:00