Commit Graph

708 Commits

Author SHA1 Message Date
daan
7a1e86fc20 merge from dev 2020-01-15 18:03:37 -08:00
daan
ad32eb1dfb eager collect on page reclamation 2020-01-15 17:57:19 -08:00
daan
0099707af9 use delayed free for all pages; reduce size of the page structure for improved address calculation 2020-01-15 17:19:01 -08:00
daan
202246425b bump version to 1.4 for further development 2020-01-15 12:16:53 -08:00
daan
c9b5ac80b3 update page reset queue to just do delayed page resets 2020-01-15 12:00:44 -08:00
daan
783e3377f7 add output argument to stat printing 2020-01-15 10:53:54 -08:00
daan
0956a05bf6 add argument pointer to the register deferred free callback 2020-01-15 10:21:32 -08:00
daan
f92a2a7264 add argument pointer to the register output routine 2020-01-15 10:18:32 -08:00
daan
941c55ee42 wip: first implementation of page free list on segments for effecient delayed page reset 2020-01-14 21:47:18 -08:00
daan
65f4f5144b fix out-of-bounds error in huge OS page bitmap 2020-01-13 17:06:25 -08:00
daan
5f61a9e896 add mprotect error when the mmap limit might be reached in secure mode (see issue #77) 2020-01-09 17:52:28 -08:00
daan
be10ebea35 build debug and secure versions on macOS in Azure pipelines 2020-01-08 23:54:56 -08:00
daan
313d4b8ffd fix test on Windows in azure pipelines 2020-01-08 23:47:40 -08:00
daan
7575b58d7a fix test on Windows in azure pipelines 2020-01-08 23:46:56 -08:00
daan
ce3f327f21 add test pass to Windows build 2020-01-08 23:40:57 -08:00
daan
403276d11e build release and debug build on Windows 2020-01-08 23:32:42 -08:00
daan
8f75444e7a fix windows debug build at MI_DEBUG=2 2020-01-08 23:21:32 -08:00
daan
12ef2816ed fix bug exposed by commit 59fa286 where reclaimed pages could be stuck to NEVER_DELAYED 2020-01-08 19:00:03 -08:00
daan
940df53b0a fix iteration count display in stress test 2020-01-08 17:57:17 -08:00
daan
683d8998d4 fix potential A-B-A problem with segment abandonment; noticed by Manual Poeter and Sam Gross 2020-01-08 17:45:38 -08:00
daan
5d2f111f64 make the stress test do more iterations under a smaller load to stay under 1GiB committed and increase thread interaction 2020-01-08 16:33:45 -08:00
daan
50b3f6d7ae fix assertion 2020-01-08 16:33:45 -08:00
daan
d4ab0ff08c fix timeout on huge page reservation if set to 0 2020-01-07 14:15:37 -08:00
daan
4223caac0f on Linux dynamically detect if getrandom is supported and fall back to /dev/urandom if needed 2020-01-06 22:08:21 -08:00
daan
d8d69c2c94 disable MAP_NORESERVE on huge pages 2020-01-05 22:07:16 -08:00
daan
45582d1fb5 revert a2a9230 (remove empty page removal on search): this is not generally valid when concurrent frees do not always add to thread_delayed_free. 2020-01-05 13:58:49 -08:00
daan
59fa286294 fix bug where continue would wrongly exit the do-while loop for delayed freeing 2020-01-05 13:52:07 -08:00
daan
a2a9230ad6 remove empty page removal on page search (no longer needed with retired collection and delayed freeing) 2020-01-03 22:52:52 -08:00
daan
d596f08569 fix thread_free read in assertion 2020-01-03 22:06:27 -08:00
daan
2b108c8748 increase retire expiration to 4 2020-01-03 21:39:18 -08:00
daan
eeb623e6af increase retire limit, collect retired pages 2020-01-03 17:06:41 -08:00
daan
f9ca88f71c set secure default to 0 again 2020-01-02 17:57:41 -08:00
daan
9629a0190f fix eager commit on large pages (issue #182) 2020-01-02 17:25:00 -08:00
daan
1b5a08cd25 remove unused parameter in check double free 2020-01-02 17:24:32 -08:00
daan
384808e340 Merge branch 'dev-random' into dev 2019-12-28 16:19:45 -08:00
daan
fc3e537bd4 improve double free detection with faster same page check 2019-12-28 15:28:13 -08:00
daan
77134e1ad0 update free list encoding to stronger formula with addition last 2019-12-28 15:17:49 -08:00
daan
e3391d9a53 stronger encoding of free lists using two keys per page 2019-12-28 00:57:42 -08:00
daan
ce02986d56 variable renaming 2019-12-27 22:30:23 -08:00
daan
6f0b35d513 merge from master 2019-12-24 10:44:49 -08:00
daan
e05a1edc03 fix large OS page size on Linux (issue #184, due to fix for #179) 2019-12-24 10:32:44 -08:00
daan
ba87a39d9f updated random cookie generation using OS primitives and chacha20 2019-12-22 19:37:49 -08:00
daan
f9b942d80d fix compilation of region descriptor on 32-bit 2019-12-22 17:08:46 -08:00
Daan Leijen
e31e609414 add preload check in option initialization (issues #179) 2019-12-01 01:03:39 -08:00
daan
36d168a2d9 add preload check to options initialization 2019-12-01 00:03:35 -08:00
daan
a407f35c64 add arena.c into the static override object 2019-12-01 00:01:14 -08:00
daan
a799a19136 fix non-standard line continuation 2019-11-25 14:30:12 -08:00
Daan
fe51d11e61
Merge pull request #178 from carenas/master
avoid deadlock with BSD systems that call malloc from the dynamic linker
2019-11-25 14:28:58 -08:00
daan
1d998af854 clean up options; make secure work with eager_page_commit 2019-11-25 10:47:17 -08:00
daan
1643273357 fix unix bug in decommit size 2019-11-25 10:11:29 -08:00