Commit graph

80 commits

Author SHA1 Message Date
Awn Umar
9478fa6285 sync 2021-02-27 13:46:28 +00:00
Awn Umar
0a691c2070 Some experimentation 2020-08-09 15:12:07 +01:00
Awn Umar
6ea70774c7
Update some things 2020-05-20 21:55:43 +01:00
Awn Umar
acb56a453c
Update some things 2020-05-20 21:38:00 +01:00
Jam Adams
022edf821f fix following dead lock problems
1. RLock -> RLock
2. RLock -> Lock
2020-04-20 17:04:12 +08:00
Jam Adams
62d42e3d91 review all Lock & UnLock to prevent recursive lock
also optimize error handle of Purge
2020-04-17 13:28:53 +08:00
Jam Adams
a8ef25bd9c fix open enclave dead lock
RWMutex should not recursive read locking
2020-04-16 15:11:50 +08:00
Awn Umar
8cc40e9cf9
Unexport interval value 2019-11-09 15:45:07 +00:00
Awn Umar
e593e6a046
Remove test invalid buffer from global list 2019-10-27 15:48:17 +00:00
Awn Umar
b1f1082407
check data region was wiped 2019-10-27 15:10:27 +00:00
Awn Umar
5de5934df7
tests: add test for panic on invalid canary 2019-10-27 13:05:11 +00:00
Awn Umar
5466a9dc33
buffer: wipe data asap in destroy 2019-10-27 13:04:48 +00:00
Awn Umar
4574dd6ddc
minor changes 2019-10-27 12:53:36 +00:00
Awn Umar
12e8010d7a
panic on error 2019-10-27 12:50:20 +00:00
Awn Umar
7143b14c33
update error message 2019-10-25 15:33:46 +01:00
Awn Umar
c3ec34f4cd
patch: Exit: grab a copy of the buffer list 2019-10-25 15:18:16 +01:00
Awn Umar
3bc993994d
move buffer removal to wrapper function 2019-10-25 15:08:41 +01:00
Awn Umar
14106296da
WIP: check memory safety guarantees
The destroy function can fail in a number of ways. If it just fails
on the canary validation or on making the memory mutable, we can
retry these operations and still be in safe-land. If however it fails
after freeing the memory (this can't happen in the current implementation
but it's worth talking about) then the purge function will have a
use-after-free vulnerability.

Need to audit this code.
2019-10-25 15:03:23 +01:00
Awn Umar
49ce9941dc
implement alternate strategy of handling failures in purge 2019-10-25 14:51:05 +01:00
Awn Umar
a1269ad32a
Revert previous commit 2019-10-25 14:26:08 +01:00
Awn Umar
ab14ada4fd
Call destroy asynchronously 2019-10-25 14:23:48 +01:00
Awn Umar
2f6ee2ce46
update error message 2019-10-24 16:50:02 +01:00
Awn Umar
52c52ee5ec
gMerge branch 'master' of github.com:awnumar/memguard into panicrace 2019-10-24 11:49:46 +01:00
Awn Umar
1812fe4a73
simplify purge function 2019-10-24 11:45:13 +01:00
Awn Umar
7ed209db48
call purge from panic instead of custom handling 2019-10-24 11:45:04 +01:00
Awn Umar
9e6cee690f
patch: Panic: halt coffer cycles and safely flush buffer list
Fixes #125
2019-10-24 11:26:31 +01:00
Awn Umar
e265d81c7b
Add Inner method to Buffer object 2019-10-16 14:33:08 +01:00
Awn Umar
361e3909a7
Add test and minor changes 2019-09-29 16:53:16 +01:00
Andrew LeFevre
130c9a6afa fix from last commit 2019-09-28 17:20:57 -04:00
Andrew LeFevre
8f4ce704ce add PlaintextSize method to Enclaves 2019-09-28 17:15:20 -04:00
Awn Umar
11ddc2241f
disable core dumps in core package 2019-08-19 14:45:35 +01:00
Paul Zeinlinger
32c8762062 Updates memcall dependency 2019-08-11 10:42:27 +02:00
Awn Umar
a58248071c
Remove dependency on fastrand 2019-08-06 11:32:14 +01:00
Awn Umar
351c9f9c55
Merge branch 'master' of github.com:awnumar/memguard into deps 2019-08-06 11:30:15 +01:00
Awn Umar
4b4328614e
Remove interval specification functionality 2019-08-06 11:15:55 +01:00
Awn Umar
daf3515811
core/coffer: store per-container static alloc for r 2019-08-02 16:06:37 +01:00
Awn Umar
1bd92eaf52
Add GetInterval function. 2019-08-02 15:27:01 +01:00
Awn Umar
1f680a6f85
patch: update test to reflect new default 2019-08-02 12:36:19 +01:00
Awn Umar
94d41e15cc
core/coffer: scale interval size by platform arch size 2019-08-02 12:22:21 +01:00
Awn Umar
508558a81a
core/coffer: change default interval and unexport global variable
Closes #113
2019-08-02 12:19:02 +01:00
Awn Umar
61fff59a0b
Merge branch 'master' of github.com:awnumar/memguard into deps 2019-08-01 14:16:24 +01:00
Awn Umar
50c49b9b06
Use standalone memcall package 2019-08-01 14:14:03 +01:00
Neven Sajko
fb1272668a core: in Wipe and Scramble, keep buf alive after being written to
This is to prevent dead store elimination.

See the discussion at
https://github.com/golang/go/issues/33325 .
2019-07-31 12:55:44 +00:00
Awn Umar
20e9dcd76e
Fix deadlock 2019-07-26 10:22:52 +01:00
Awn Umar
ce6fc55dde
patch: acquire full lock in freeze/melt
Fixes #104
2019-07-26 10:12:56 +01:00
Awn
843870774d
optimise buffer state methods (#103) 2019-07-25 23:01:20 +01:00
Awn
1095ba2fd0
Don't panic on zero size object request (#102) 2019-07-25 22:44:50 +01:00
Awn
36473dda82
Allow callers to specify Coffer re-key cycle interval (#101) 2019-07-21 18:37:26 +01:00
Awn Umar
c92dd46a39
Wipe partition hash after replacing it 2019-07-19 21:09:18 +01:00
Awn Umar
3c5e9f417c
Use fast entropy source for hot paths only 2019-07-18 22:39:14 +01:00