<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/modes/asm, branch libressl-v4.2.1</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v4.2.1</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v4.2.1'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-06-09T14:28:34+00:00</updated>
<entry>
<title>Make OPENSSL_IA32_SSE2 the default for i386 and remove the flag.</title>
<updated>2025-06-09T14:28:34+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-09T14:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=951cd4503ff3c4cc93c1a36cf06138b1ddd739d7'/>
<id>urn:sha1:951cd4503ff3c4cc93c1a36cf06138b1ddd739d7</id>
<content type='text'>
The OPENSSL_IA32_SSE2 flag controls whether a number of the perlasm
scripts generate additional implementations that use SSE2 functionality.
In all cases except ghash, the code checks OPENSSL_ia32cap_P for SSE2
support, before trying to run SSE2 code. For ghash it generates a CLMUL
based implementation in addition to different MMX version (one MMX
version hides behind OPENSSL_IA32_SSE2, the other does not), however this
does not appear to actually use SSE2. We also disable AES-NI on i386 if
OPENSSL_IA32_SSE2.

On OpenBSD, we've always defined OPENSSL_IA32_SSE2 so this is effectively
a no-op. The only change is that we now check MMX rather than SSE2 for the
ghash MMX implementation.

ok bcook@ beck@
</content>
</entry>
<entry>
<title>Add a few missing endbr64 to libcrypto</title>
<updated>2024-02-24T17:53:20+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-02-24T17:53:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2c66b949eac93a66838f31bcbbd5e3c769038538'/>
<id>urn:sha1:2c66b949eac93a66838f31bcbbd5e3c769038538</id>
<content type='text'>
gcm_{gmult,ghash}_4bit(), aesni_ccm64_decrypt_blocks(), aes_cbc_encrypt(),
and aesni_xts_{en,de}crypt() were overlooked in previous passes.

Found with a diff for ld.lld by kettenis
ok kettenis
</content>
</entry>
<entry>
<title>Replace uses of endbr64 with _CET_ENDBR from cet.h</title>
<updated>2024-02-24T15:30:14+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-02-24T15:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c730c3b3b1845cc7c4a4aceff2031f1135faa6bb'/>
<id>urn:sha1:c730c3b3b1845cc7c4a4aceff2031f1135faa6bb</id>
<content type='text'>
cet.h is needed for other platforms to emit the relevant .gnu.properties
sections that are necessary for them to enable IBT. It also avoids issues
with older toolchains on macOS that explode on encountering endbr64.

based on a diff by kettenis
ok beck kettenis
</content>
</entry>
<entry>
<title>Avoid a four-byte overread in gcm_ghash_4bit_mmx() on i386</title>
<updated>2024-01-24T15:24:28+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-24T15:24:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6db1ed1feaf59b64e81222f16bc861cdb38889ad'/>
<id>urn:sha1:6db1ed1feaf59b64e81222f16bc861cdb38889ad</id>
<content type='text'>
This is a variant of the same logic error fixed in ghash-x86_64.pl r1.6.
The code path is only reachable on machines without FXSR or PCLMUL.

ok jsing
</content>
</entry>
<entry>
<title>Avoid a four byte overread in gcm_ghash_4bit() on amd64.</title>
<updated>2024-01-24T13:39:44+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-01-24T13:39:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=00bd760df094460f9eef0ddf96b36d21660bc5ed'/>
<id>urn:sha1:00bd760df094460f9eef0ddf96b36d21660bc5ed</id>
<content type='text'>
The assembly code for gcm_ghash_4bit() reads one too many times from Xi,
resulting in a four byte overread. Prevent this by not loading the next
value in the final iteration of the loop. If another full iteration is
required the next Xi value will be loaded at the top of the outer_loop.

Many thanks to Douglas Gliner &lt;Douglas.Gliner at sony dot com&gt; for finding
and reporting this issue, along with a detailed reproducer.

Same diff from deraadt@

ok tb@
</content>
</entry>
<entry>
<title>Add endbr64 where needed by inspection.  Passes regresson tests.</title>
<updated>2023-04-25T04:42:26+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2023-04-25T04:42:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f56bc15e44b93e564d434a7d0b5c8f837812aac3'/>
<id>urn:sha1:f56bc15e44b93e564d434a7d0b5c8f837812aac3</id>
<content type='text'>
ok jsing, and kind of tb an earlier version
</content>
</entry>
<entry>
<title>Use explicit .text instead of .previous to please Windows/MinGW on amd64</title>
<updated>2023-02-23T08:55:44+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-02-23T08:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0dadd2bf46f37ca96a50e247649a11b3c5273234'/>
<id>urn:sha1:0dadd2bf46f37ca96a50e247649a11b3c5273234</id>
<content type='text'>
ok miod
</content>
</entry>
<entry>
<title>Use .section .rodata instead of a plain .rodata</title>
<updated>2023-02-09T19:57:00+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-02-09T19:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4355eb6aeababf0126972f85bdeed63048a99df1'/>
<id>urn:sha1:4355eb6aeababf0126972f85bdeed63048a99df1</id>
<content type='text'>
At least gcc 12 on Fedora is very unhappy about a plain .rodata and throws
Error: unknown pseudo-op: `.rodata'. So add a .section in front of it to
make it happy.

ok deraadt miod
</content>
</entry>
<entry>
<title>Move all data blocks from .text to .rodata and cleanup up and homogeneize code</title>
<updated>2023-02-02T13:03:50+00:00</updated>
<author>
<name>miod</name>
<email></email>
</author>
<published>2023-02-02T13:03:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9e1924dde08e823680f6e83135f11d55b6b25f38'/>
<id>urn:sha1:9e1924dde08e823680f6e83135f11d55b6b25f38</id>
<content type='text'>
responsible from getting the proper address of those blocks.
</content>
</entry>
<entry>
<title>Move all data blocks from .text to .rodata and cleanup up and homogeneize code</title>
<updated>2023-02-01T20:45:04+00:00</updated>
<author>
<name>miod</name>
<email></email>
</author>
<published>2023-02-01T20:45:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5957c398bf683b5334ed18dd0f830b1cfffbf027'/>
<id>urn:sha1:5957c398bf683b5334ed18dd0f830b1cfffbf027</id>
<content type='text'>
responsible from getting the proper address of those blocks.

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