diff options
author | otto <> | 2021-02-25 15:20:18 +0000 |
---|---|---|
committer | otto <> | 2021-02-25 15:20:18 +0000 |
commit | 827c99d1b55bae4268d905d4c4817f7add395c94 (patch) | |
tree | 1e53fb8f01e90fb2daabd5c89841f55313e700eb /src/lib/libc/stdlib/malloc.3 | |
parent | 851054bdc5a74d09ef9d5133842a93fed3fc408e (diff) | |
download | openbsd-827c99d1b55bae4268d905d4c4817f7add395c94.tar.gz openbsd-827c99d1b55bae4268d905d4c4817f7add395c94.tar.bz2 openbsd-827c99d1b55bae4268d905d4c4817f7add395c94.zip |
- Make use of the fact that we know how the chunks are aligned, and
write 8 bytes at the time by using a uint64_t pointer. For an
allocation a max of 4 such uint64_t's are written spread over the
allocation. For pages sized and larger, the first page is junked in
such a way.
- Delayed free of a small chunk checks the corresponiding way.
- Pages ending up in the cache are validated upon unmapping or re-use.
In snaps for a while
Diffstat (limited to 'src/lib/libc/stdlib/malloc.3')
-rw-r--r-- | src/lib/libc/stdlib/malloc.3 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/libc/stdlib/malloc.3 b/src/lib/libc/stdlib/malloc.3 index 0c7574034b..c27f965d0a 100644 --- a/src/lib/libc/stdlib/malloc.3 +++ b/src/lib/libc/stdlib/malloc.3 | |||
@@ -30,9 +30,9 @@ | |||
30 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 30 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
31 | .\" SUCH DAMAGE. | 31 | .\" SUCH DAMAGE. |
32 | .\" | 32 | .\" |
33 | .\" $OpenBSD: malloc.3,v 1.126 2019/09/14 13:16:50 otto Exp $ | 33 | .\" $OpenBSD: malloc.3,v 1.127 2021/02/25 15:20:18 otto Exp $ |
34 | .\" | 34 | .\" |
35 | .Dd $Mdocdate: September 14 2019 $ | 35 | .Dd $Mdocdate: February 25 2021 $ |
36 | .Dt MALLOC 3 | 36 | .Dt MALLOC 3 |
37 | .Os | 37 | .Os |
38 | .Sh NAME | 38 | .Sh NAME |
@@ -619,7 +619,7 @@ or | |||
619 | reallocate an unallocated pointer was made. | 619 | reallocate an unallocated pointer was made. |
620 | .It Dq chunk is already free | 620 | .It Dq chunk is already free |
621 | There was an attempt to free a chunk that had already been freed. | 621 | There was an attempt to free a chunk that had already been freed. |
622 | .It Dq use after free | 622 | .It Dq write after free |
623 | A chunk has been modified after it was freed. | 623 | A chunk has been modified after it was freed. |
624 | .It Dq modified chunk-pointer | 624 | .It Dq modified chunk-pointer |
625 | The pointer passed to | 625 | The pointer passed to |