<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libc, branch libressl-v3.8.0</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v3.8.0</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v3.8.0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2023-05-27T04:33:00+00:00</updated>
<entry>
<title>Remove malloc interposition, a workaround that was once needed for emacs</title>
<updated>2023-05-27T04:33:00+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-05-27T04:33:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=79242671d4fc62c0520403a6875e4c4254611365'/>
<id>urn:sha1:79242671d4fc62c0520403a6875e4c4254611365</id>
<content type='text'>
ok guenther@
</content>
</entry>
<entry>
<title>Add PROTO_NORMAL() declarations for the remaining syscalls, to avoid</title>
<updated>2023-05-18T16:11:10+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2023-05-18T16:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=432d44bf3970806c89d3c69805013dc2cdc4cfc0'/>
<id>urn:sha1:432d44bf3970806c89d3c69805013dc2cdc4cfc0</id>
<content type='text'>
future, inadvertant PLT entries.  Move the __getcwd and __realpath
declarations to hidden/{stdlib,unistd}.h to consolidate and remove
duplication.

ok tb@ otto@ deraadt@
</content>
</entry>
<entry>
<title>As mmap(2) is no longer a LOCK syscall, do away with the extra</title>
<updated>2023-05-10T07:58:06+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-05-10T07:58:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2571fa44f98869d5490b1fc30fb1ed5868093cdb'/>
<id>urn:sha1:2571fa44f98869d5490b1fc30fb1ed5868093cdb</id>
<content type='text'>
unlock-lock dance it serves no real purpose any more. Confirmed
by a small performance increase in tests.  ok @tb
</content>
</entry>
<entry>
<title>remove duplicate include</title>
<updated>2023-04-21T06:19:40+00:00</updated>
<author>
<name>jsg</name>
<email></email>
</author>
<published>2023-04-21T06:19:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6e212fe7fa7dc5c9afa56f5d73d01b66a778e991'/>
<id>urn:sha1:6e212fe7fa7dc5c9afa56f5d73d01b66a778e991</id>
<content type='text'>
ok otto@
</content>
</entry>
<entry>
<title>remove bad Pp;</title>
<updated>2023-04-17T05:45:06+00:00</updated>
<author>
<name>jmc</name>
<email></email>
</author>
<published>2023-04-17T05:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=7968d62ad446ca1e733e7c20552cfe41658b3757'/>
<id>urn:sha1:7968d62ad446ca1e733e7c20552cfe41658b3757</id>
<content type='text'>
(sorry, otto, for not spotting in the updated diff)
</content>
</entry>
<entry>
<title>Dump (leak) info using utrace(2) and compile the code always in</title>
<updated>2023-04-16T19:46:17+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-04-16T19:46:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c2ef829610e3a4d1d65186fa3abad107f8c440bd'/>
<id>urn:sha1:c2ef829610e3a4d1d65186fa3abad107f8c440bd</id>
<content type='text'>
except for bootblocks. This way we have built-in leak detecction
always (if enable by malloc flags). See man pages for details.
</content>
</entry>
<entry>
<title>Introduce variation in location of junked bytes; ok tb@</title>
<updated>2023-04-05T06:25:38+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-04-05T06:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=81f896ae8a52bc223554e2bd78caae943fff36c9'/>
<id>urn:sha1:81f896ae8a52bc223554e2bd78caae943fff36c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Check all chunks in the delayed free list for write-after-free.</title>
<updated>2023-04-01T18:47:51+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-04-01T18:47:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6e9920658516f0535b43d91e732e6b64d132cb84'/>
<id>urn:sha1:6e9920658516f0535b43d91e732e6b64d132cb84</id>
<content type='text'>
Should catch more of them and closer (in time) to the WAF.  ok tb@
</content>
</entry>
<entry>
<title>Last arg is also a pointer, so pass NULL instead of 0; ok deraadt@</title>
<updated>2023-03-25T19:16:34+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-03-25T19:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d602044f9cc1ce8207f11a08720ed12452341e0e'/>
<id>urn:sha1:d602044f9cc1ce8207f11a08720ed12452341e0e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change malloc chunk sizes to be fine grained.</title>
<updated>2023-03-25T15:22:06+00:00</updated>
<author>
<name>otto</name>
<email></email>
</author>
<published>2023-03-25T15:22:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=aeb609db314605a99dc3692bfd9fb97fe4c9da1c'/>
<id>urn:sha1:aeb609db314605a99dc3692bfd9fb97fe4c9da1c</id>
<content type='text'>
The basic idea is simple: one of the reasons the recent sshd bug
is potentially exploitable is that a (erroneously) freed malloc
chunk gets re-used in a different role. malloc has power of two
chunk sizes and so one page of chunks holds many different types
of allocations. Userland malloc has no knowledge of types, we only
know about sizes. So I changed that to use finer-grained chunk
sizes.

This has some performance impact as we need to allocate chunk pages
in more cases. Gain it back by allocation chunk_info pages in a
bundle, and use less buckets is !malloc option S. The chunk sizes
used are 16, 32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320,
384, 448, 512, 640, 768, 896, 1024, 1280, 1536, 1792, 2048 (and a
few more for sparc64 with its 8k sized pages and loongson with its
16k pages).

If malloc option S (or rather cache size 0) is used we use strict
multiple of 16 sized chunks, to get as many buckets as possible.
ssh(d) enabled malloc option S, in general security sensitive
programs should.

See the find_bucket() and bin_of() functions. Thanks to Tony Finch
for pointing me to code to compute nice bucket sizes.

ok tb@
</content>
</entry>
</feed>
