>> Could you complement back-trace with 'info reg' output?
> 
> (gdb) bt
> #0  _x86_64_Camellia_encrypt () at cmll-x86_64.s:74
> #1  0x00007ffff7a7a4b4 in Camellia_cbc_encrypt () at cmll-x86_64.s:1686
> #2  0x00007fffffffca30 in ?? ()
> #3  0x000000000068e190 in ?? ()
> #4  0x0000000000000000 in ?? ()
> (gdb) info reg
> rax            0x90a464       9479268
> rbx            0x7ee5f47f     2128999551
> rcx            0x0    0
> rdx            0xcef1a9fe     3471944190
> rsi            0xa6   166
> rdi            0xaf   175
> rbp            0x7ffff7a793c0 0x7ffff7a793c0
> rsp            0x7fffffffadb8 0x7fffffffadb8
> r8             0x263e264d     641607245
> r9             0x34a1c456     883016790
> r10            0x6824eed3     1747250899
> r11            0xcef1a9fe     3471944190
> r12            0x68e180       6873472
> r13            0x68e180       6873472
> r14            0x7fffffffeff0 140737488351216
> r15            0x207fbfffffcb30       9147661865175856
> rip            0x7ffff7a78570 0x7ffff7a78570 <_x86_64_Camellia_encrypt+16>

For reference. What I wanted to verify is that effective data address in
failing instruction is at page boundary. It *is*, which confirms my
assumption that it's "runaway" pointer caused by bogus upper part
register that is supposed to hold key+64*grand_rounds.

>> Verify that following fixes the problem:
>>
>> --- crypto/camellia/asm/cmll-x86_64.pl  6 Apr 2009 15:13:16 -0000
>> +++ crypto/camellia/asm/cmll-x86_64.pl  12 Sep 2009 15:20:49 -0000
>> @@ -656,7 +656,7 @@
>>         mov     %rsi,$out               # out argument
>>         mov     %r8,%rbx                # ivp argument
>>         mov     %rcx,$key               # key argument
>> -       mov     272(%rcx),$keyend       # grandRounds
>> +       mov     272(%rcx),${keyend}d    # grandRounds
>>
>>         mov     %r8,$_ivp
>>         mov     %rbp,$_rsp
> 
> Yes, this patch fixes the problem.

Patch is applied. Case is being dismissed. A.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to