Re: [PATCH] sha1-x86_64/ssse3: enforce stack alignment

2013-12-17 Thread Florian Weimer
On 12/15/2013 07:53 PM, Yuriy Kaminskiy wrote: Apparently, stack can be misaligned on BSD (nasty! is it even allowed by amd64 ABI?), and openssl fails to deal with it (funnily, it aligns stack in non-ssse3 version [where it is only efficiency issue], but fails to do this in ssse3 version [where

Re: 1.0.1e: crash in sha1_block_data_order_ssse3()

2013-12-17 Thread Florian Weimer
On 12/17/2013 03:17 AM, Claus Assmann wrote: Can you please try putting a breakpoint on sha1_block_data_order_ssse3, and checking what the value of %rsp is at the start of the function? Breakpoint 5, sha1_block_data_order_ssse3 () at sha1-x86_64.s:1295 1295pushq %rbx Current language:

Re: [openssl.org #3200] Crash in OpenSSL 1.0.1e w/TLS 1.2 (under load)

2013-12-17 Thread Ron Barber
On 12/14/13 7:38 AM, Stephen Henson via RT r...@openssl.org wrote: Hmm... that's a weird one. The debug info tells me it is a TLS v1.0 connection and that it is attempting to use MD5 when calculating the handshake hash. It caches handshake records in the function ssl3_digest_cached_records() using

RE: [PATCH] sha1-x86_64/ssse3: enforce stack alignment

2013-12-17 Thread Salz, Rich
It's required by the amd64 ABI, and other things will break if this requirement is violated. Do you mean Stack alignment is required, or the ability to have unaligned stack is required? I think you mean the first one, but it wasn't clear to me. Tnx. -- Principal Security Engineer Akamai

[openssl.org #3201] EVP_DigestUpdate crashes because of a NULL pointer

2013-12-17 Thread Stephen Henson via RT
On Sat Dec 14 08:42:01 2013, misaki.miyash...@oracle.com wrote: The Segmentation Fault occurred when EVP_MD_CTX_copy() failed in tls1_mac(). tls1_mac() doesn't check the return code of EVP_MD_CTX_copy() and keep going, which results in Segmentation Fault at EVP_DigestUpdate(). The following

Re: [openssl.org #3200] Crash in OpenSSL 1.0.1e w/TLS 1.2 (under load)

2013-12-17 Thread Ron Barber via RT
On 12/16/13, 6:40 PM, Stephen Henson via RT r...@openssl.org wrote: Yes, please print out the entire s-s3-handshake_dgst array instead of just the first element. That is: s-s3-handshake_dgst[0] s-s3-handshake_dgst[1] .. up to ... s-s3-handshake_dgst[5] I had to set this back up so this is a

Re: [openssl.org #3200] Crash in OpenSSL 1.0.1e w/TLS 1.2 (under load)

2013-12-17 Thread Dr. Stephen Henson
On Tue, Dec 17, 2013, Ron Barber via RT wrote: On 12/16/13, 6:40 PM, Stephen Henson via RT r...@openssl.org wrote: Yes, please print out the entire s-s3-handshake_dgst array instead of just the first element. That is: s-s3-handshake_dgst[0] s-s3-handshake_dgst[1] .. up to ...

Re: [PATCH] sha1-x86_64/ssse3: enforce stack alignment

2013-12-17 Thread Andy Polyakov
Apparently, stack can be misaligned on BSD (nasty! is it even allowed by amd64 ABI?), and openssl fails to deal with it (funnily, it aligns stack in non-ssse3 version [where it is only efficiency issue], but fails to do this in ssse3 version [where it is mandatory]). Fails is wrong verb,

Re: 1.0.1e: crash in sha1_block_data_order_ssse3()

2013-12-17 Thread Claus Assmann
On Tue, Dec 17, 2013, Florian Weimer wrote: Current language: auto; currently asm (gdb) p $rsp $15 = (void *) 0x8007360a0 Actually, it doesn'ton function entry, %rsp must be congruent 8 modulo 16. Thanks for the clarification, I misunderstood 16-byte stack alignment. The problem seems to