VIA/ACE PadLock integration with crypto(9).

Mike Tancsa mike at sentex.net
Thu Aug 18 03:56:51 GMT 2005


At 10:38 AM 17/08/2005, Pawel Jakub Dawidek wrote:

>Fix in HEAD. Thanks!

Yup, looks better in RELENG_6 with those 
versions.  However, I think I found a new crash 
with padlock.ko (both the original and the new one you checked in)


[itx-vpn]# kldload /padlock.ko
[itx-vpn]# ./cryptotest -z 10
  0.000 sec,      20    aes crypts,      16 
bytes,  1107266 byte/sec,     8.4 Mb/sec
  0.000 sec,      20    aes crypts,      32 
bytes,  3832335 byte/sec,    29.2 Mb/sec
  0.000 sec,      20    aes crypts,      64 
bytes,  4758364 byte/sec,    36.3 Mb/sec
  0.000 sec,      20    aes crypts,     128 
bytes, 14970760 byte/sec,   114.2 Mb/sec
  0.000 sec,      20    aes crypts,     256 
bytes, 26806283 byte/sec,   204.5 Mb/sec
  0.000 sec,      20    aes crypts,     512 
bytes, 43206751 byte/sec,   329.6 Mb/sec
  0.001 sec,      20    aes crypts,    1024 
bytes, 26155811 byte/sec,   199.6 Mb/sec
  0.000 sec,      20    aes crypts,    2048 
bytes, 94160920 byte/sec,   718.4 Mb/sec
  0.001 sec,      20    aes crypts,    4096 
bytes, 74881170 byte/sec,   571.3 Mb/sec
  0.002 sec,      20    aes crypts,    8192 
bytes, 88228325 byte/sec,   673.1 Mb/sec
  0.000 sec,      20 aes192 crypts,      16 
bytes,  1987578 byte/sec,    15.2 Mb/sec
  0.000 sec,      20 aes192 crypts,      32 
bytes,  3950617 byte/sec,    30.1 Mb/sec
  0.001 sec,      20 aes192 crypts,      64 
bytes,  1457859 byte/sec,    11.1 Mb/sec
  0.000 sec,      20 aes192 crypts,     128 
bytes, 14301676 byte/sec,   109.1 Mb/sec
  0.000 sec,      20 aes192 crypts,     256 
bytes, 26806283 byte/sec,   204.5 Mb/sec
  0.000 sec,      20 aes192 crypts,     512 
bytes, 43389831 byte/sec,   331.0 Mb/sec
  0.000 sec,      20 aes192 crypts,    1024 
bytes, 59708455 byte/sec,   455.5 Mb/sec
  0.000 sec,      20 aes192 crypts,    2048 
bytes, 86050420 byte/sec,   656.5 Mb/sec
  0.001 sec,      20 aes192 crypts,    4096 
bytes, 67147541 byte/sec,   512.3 Mb/sec
  0.002 sec,      20 aes192 crypts,    8192 
bytes, 89286104 byte/sec,   681.2 Mb/sec
  0.000 sec,      20 aes256 crypts,      16 
bytes,  1975309 byte/sec,    15.1 Mb/sec
  0.000 sec,      20 aes256 crypts,      32 
bytes,  3975155 byte/sec,    30.3 Mb/sec
  0.000 sec,      20 aes256 crypts,      64 
bytes,  7356322 byte/sec,    56.1 Mb/sec
  0.000 sec,      20 aes256 crypts,     128 
bytes, 14712644 byte/sec,   112.2 Mb/sec
  0.000 sec,      20 aes256 crypts,     256 
bytes, 25600000 byte/sec,   195.3 Mb/sec
  0.000 sec,      20 aes256 crypts,     512 
bytes, 40796813 byte/sec,   311.3 Mb/sec
  0.000 sec,      20 aes256 crypts,    1024 
bytes, 59708455 byte/sec,   455.5 Mb/sec
  0.000 sec,      20 aes256 crypts,    2048 
bytes, 84279835 byte/sec,   643.0 Mb/sec
  0.001 sec,      20 aes256 crypts,    4096 
bytes, 75502304 byte/sec,   576.0 Mb/sec
  0.002 sec,      20 aes256 crypts,    8192 
bytes, 83294357 byte/sec,   635.5 Mb/sec
[itx-vpn]# ./cryptotest -z 10 -t 20

and panic

[itx-vpn]# kgdb /usr/obj/usr/src/sys/itx/kernel.debug vmcore.3
[GDB will not be able to debug user-mode threads: 
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:
panic: cuio_copydata: off -16 < 0
Uptime: 1m10s
Dumping 445 MB (2 chunks)
   chunk 0: 1MB (159 pages) ... ok
   chunk 1: 445MB (113904 pages) 429 413 397 381 
365 349 333 317 301 285 269 253 237 221 205 189 
173 157 141 125 109 93 77 61 45 29 13

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
         in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc054b049 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397
#2  0xc054b2dc in panic (fmt=0xc072fbf7 
"cuio_copydata: off %d < 0") at /usr/src/sys/kern/kern_shutdown.c:553
#3  0xc0638d0d in cuio_copydata (uio=0x0, off=0, 
len=16, cp=0xc1aa0a10 "00000000") at /usr/src/sys/opencrypto/criov.c:51
#4  0xc1dc7f7b in ?? ()
#5  0xc1d9da84 in ?? ()
#6  0xfffffff0 in ?? ()
#7  0x00000010 in ?? ()
#8  0xc1aa0a10 in ?? ()
#9  0xc194eba0 in ?? ()
#10 0xc1aa0810 in ?? ()
#11 0xc1aa0800 in ?? ()
#12 0xc1d70bd0 in ?? ()
#13 0x00000001 in ?? ()
#14 0x00000001 in ?? ()
#15 0xc1aa0a10 in ?? ()
#16 0x00000000 in ?? ()
#17 0xc194eb90 in ?? ()
#18 0xc1dcd268 in ?? ()
#19 0x00000001 in ?? ()
#20 0xc1dcb000 in ?? ()
#21 0x00000001 in ?? ()
#22 0xdc2fdbcc in ?? ()
#23 0xc063a0a6 in crypto_invoke (crp=0xc1dcd268, 
hint=-1042501632) at /usr/src/sys/opencrypto/crypto.c:891
Previous frame identical to this frame (corrupt stack?)
(kgdb) bt full
#0  doadump () at pcpu.h:165
No locals.
#1  0xc054b049 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397
         first_buf_printf = 1
#2  0xc054b2dc in panic (fmt=0xc072fbf7 
"cuio_copydata: off %d < 0") at /usr/src/sys/kern/kern_shutdown.c:553
         td = (struct thread *) 0xc1d6f600
         bootopt = 260
         newpanic = 0
         ap = 0xc1d6f600 "HìÖÁà\021×Á"
         buf = "cuio_copydata: off -16 < 0", '\0' <repeats 229 times>
#3  0xc0638d0d in cuio_copydata (uio=0x0, off=0, 
len=16, cp=0xc1aa0a10 "00000000") at /usr/src/sys/opencrypto/criov.c:51
         iov = (struct iovec *) 0xc1d9da7c
         iol = 1
#4  0xc1dc7f7b in ?? ()
No symbol table info available.
#5  0xc1d9da84 in ?? ()
No symbol table info available.
#6  0xfffffff0 in ?? ()
No symbol table info available.
#7  0x00000010 in ?? ()
No symbol table info available.
#8  0xc1aa0a10 in ?? ()
No symbol table info available.
#9  0xc194eba0 in ?? ()
No symbol table info available.
#10 0xc1aa0810 in ?? ()
No symbol table info available.
#11 0xc1aa0800 in ?? ()
No symbol table info available.
#12 0xc1d70bd0 in ?? ()
No symbol table info available.
#13 0x00000001 in ?? ()
No symbol table info available.
#14 0x00000001 in ?? ()
No symbol table info available.
#15 0xc1aa0a10 in ?? ()
No symbol table info available.
#16 0x00000000 in ?? ()
No symbol table info available.
#17 0xc194eb90 in ?? ()
No symbol table info available.
#18 0xc1dcd268 in ?? ()
No symbol table info available.
#19 0x00000001 in ?? ()
No symbol table info available.
#20 0xc1dcb000 in ?? ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#21 0x00000001 in ?? ()
No symbol table info available.
#22 0xdc2fdbcc in ?? ()
No symbol table info available.
#23 0xc063a0a6 in crypto_invoke (crp=0xc1dcd268, 
hint=-1042501632) at /usr/src/sys/opencrypto/crypto.c:891
         hid = 3252465664
         process = (int (*)(void *, struct cryptop *, int)) 0
(kgdb)  



More information about the freebsd-current mailing list