Hello, hardware: net5510-70 (Soekris board) 500 Mhz vpn1401 (Soekris) PCI-card with HIFN 7955 software: Debian Linux Lenny/sid, standart installation kernel 2.6.27.4 from kernel.org and the kernel 2.6.26 which belongs to Debian Lenny/sid Console: serial line (no vga present on that board) ----------------------------------------------------------- Crypto-Options: aes-cbc-essiv:sha256, keysize=128 After I have created the the device and have made a mkfs: command: time dd if=/dev/zero of=xxx.img bs=1024 count=700000 without goede-aes (128 Bit keylength) 1m40.313s, 1m44.596s (hifn_795x module also unloaded) with geode-aes (128 Bit keylength) 36.792s, 37.774s (hifn_795x module unloaded) command: time cat 700MB-file >/dev/null without geode-aes (128 Bit keylength) 1m35.057s, 1m36.257s (hifn_795x module also unloaded) with geode-aes (128 Bit keylength): 32.546s, 32.656s (hifn_795x module unloaded) It seems the geode-aes module works very well (keysize 128 bit)!!! Crypto-Options: aes-cbc-essiv:sha256, keysize=256 <<< command: time dd if=/dev/zero of=xxx.img bs=1024 count=700000 with geode-aes & hifn_795x 2m11.968s, 2m16.296s without geode-aes & hifn_795x 2m9.441s, 2m9.779s geode-aes are not used because it works only with keysize 128 Bit. But it seems the hifn_795x module are also not used. Look with lsmod for the usage (when the crypted partition is mounted and geode-aes and hifn_795x module is loaded): ----------------------------------------------------------------------------------- piepmatz:/var/log# lsmod Module Size Used by sha256_generic 11392 0 aes_i586 7680 2 aes_generic 27816 1 aes_i586 cbc 3456 1 ipv6 221668 18 dm_crypt 11140 1 dm_snapshot 15136 0 dm_mirror 15104 0 dm_log 8192 1 dm_mirror dm_mod 46252 6 dm_crypt,dm_snapshot,dm_mirror,dm_log ... hifn_795x 17156 0 <------------------ !!! rng_core 3844 2 geode_rng,hifn_795x des_generic 16384 1 hifn_795x cs5535_gpio 3656 0 geode_aes 5508 3 <------------------ !!! soundcore 5956 1 snd crypto_blkcipher 15108 5 cbc,dm_crypt,hifn_795x,geode_aes ... piepmatz:/var/log# _ ------------------------------------------------------------------------------------- geode-aes is used by 3 hifn_795x is used by 0 !!! When I umount and close with "cryptsetup luksClose ..." the device I unload geode-aes and load only the hifn_795x module: then I try to mount: ------------------------------------------------------------------------------------- piepmatz:~# miscmount cryptsetup luksOpen /dev/hdb4 sehrsicher Enter LUKS passphrase: key slot 0 unlocked. Now I waits ca. 4 minutes until the next message ... Command successful. fsck.ext2 /dev/mapper/sehrsicher e2fsck 1.41.2 (02-Oct-2008) Now I wait ...... after 10 minutes ...... -------------------------------------------------------------------------------------- In an another login I made a lsmod: ---------------------------------------------------------------------------- piepmatz:~# lsmod Module Size Used by hifn_795x 17156 1 <------------------ !!! des_generic 16384 1 hifn_795x sha256_generic 11392 0 aes_i586 7680 1 aes_generic 27816 1 aes_i586 cbc 3456 0 ipv6 221668 18 dm_crypt 11140 1 dm_snapshot 15136 0 dm_mirror 15104 0 dm_log 8192 1 dm_mirror dm_mod 46252 6 dm_crypt,dm_snapshot,dm_mirror,dm_log ... crypto_blkcipher 15108 4 hifn_795x,cbc,dm_crypt ... piepmatz:~# _ ----------------------------------------------------------------------------- The hifn_795x module is used by 1 process, but it doesn't work. ------------------------------------------------------------- I try the same with the original linux kernel (2.6.26) which belongs to Debian Lenny/sid: With geode-aes & hifn_795x: ----------------------------------------------------------------------------- (/dev/hdb4 is created with keysize 256 bit) piepmatz:~# miscmount cryptsetup luksOpen /dev/hdb4 sehrsicher Enter LUKS passphrase: key slot 0 unlocked. Command successful. fsck.ext2 /dev/mapper/sehrsicher e2fsck 1.41.2 (02-Oct-2008) MISC: sauber, 12/19226624 Dateien, 1397936/76884824 Blöcke mount -o noatime /dev/mapper/sehrsicher /misc piepmatz:~# piepmatz:~# lsmod Module Size Used by sha256_generic 11392 0 aes_i586 7680 2 aes_generic 29224 1 aes_i586 cbc 3200 1 ipv6 225172 18 dm_crypt 11012 1 dm_snapshot 14240 0 dm_mirror 14720 0 dm_log 8192 1 dm_mirror dm_mod 45384 6 dm_crypt,dm_snapshot,dm_mirror,dm_log ... hifn_795x 17028 0 <------------- !!! cs5535_gpio 3804 0 rng_core 3972 2 geode_rng,hifn_795x des_generic 16640 1 hifn_795x geode_aes 5508 3 <------------- !!! soundcore 6112 1 snd crypto_blkcipher 14724 5 cbc,dm_crypt,hifn_795x,geode_aes ... piepmatz:~# cd /misc piepmatz:/misc# time dd if=/dev/zero of=xxx.img bs=1024 count=700000 700000+0 Datensätze ein 700000+0 Datensätze aus 716800000 Bytes (717 MB) kopiert, 124,913 s, 5,7 MB/s real 2m6.286s user 0m0.940s sys 0m10.669s piepmatz:/misc# piepmatz:/misc# rm xxx.img piepmatz:/misc# time dd if=/dev/zero of=xxx.img bs=1024 count=700000 700000+0 Datensätze ein 700000+0 Datensätze aus 716800000 Bytes (717 MB) kopiert, 124,961 s, 5,7 MB/s real 2m4.987s user 0m0.880s sys 0m10.345s piepmatz:/misc# ------------------------------------------------------------------------------------- I unload geode-aes and let the hifn_795x ------------------------------------------------------------------------------------- piepmatz:/misc# cd piepmatz:~# miscumount umount /misc cryptsetup luksClose sehrsicher piepmatz:~# piepmatz:~# modprobe -r geode-aes piepmatz:~# miscmount cryptsetup luksOpen /dev/hdb4 sehrsicher Enter LUKS passphrase: [ 895.128730] device-mapper: table: 254:0: crypt: Block size of ESSIV cipher does not match IV size of block cipher [ 895.131582] device-mapper: ioctl: error adding target to table [ 895.201864] device-mapper: ioctl: device doesn't appear to be in the dev hash table. Command failed: No key available with this passphrase. piepmatz:~# ------------------------------------------------------------------------------------- I try an another chiper ("aes-cbc-plain", keysize 256 Bit) piepmatz:/usr/local/sbin# createmisc cryptsetup -c aes-cbc-plain -y -s 256 luksFormat /dev/hdb4 WARNING! ======== This will overwrite data on /dev/hdb4 irrevocably. Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase: [ 1106.016371] device-mapper: crypt: Selected cipher does not support IVs [ 1127.932915] ------------[ cut here ]------------ [ 1127.935606] kernel BUG at mm/slab.c:3008! [ 1127.935606] invalid opcode: 0000 [#1] [ 1127.935606] Modules linked in: sha256_generic aes_i586 aes_generic cbc ipv6 dm_crypt dm_snapshot dm_mirror dm_log dm_mod loop evdev snd_pcsp snd_pcm_oss snd_pcm snd_mixer_oss snd_seq_dummy geode_rng snd_seq_oss snd_seq_midi_event snd_seq snd_timer snd_seq_device hifn_795x cs5535_gpio rng_core snd des_generic soundcore crypto_blkcipher snd_page_alloc ext2 mbcache ide_disk ata_generic libata scsi_mod dock ide_pci_generic ohci_hcd ehci_hcd amd74xx ide_core usbcore via_rhine mii thermal_sys [laaded: geode_aes]27.935606] [ 1127.935606] Pid: 2148, comm: sshd Not tainted (2.6.26-1-486 #1) [ 1127.935606] EIP: 0060:[<c0162f1d>] EFLAGS: 00010092 CPU: 0 [ 1127.935606] EIP is at cache_alloc_refill+0xc4/0x3e3 [ 1127.935606] EAX: 0000001e EBX: 00000000 ECX: df401240 EDX: df401240 [ 1127.935606] ESI: df740020 EDI: df4031a0 EBP: df406800 ESP: df6b7e9c [ 1127.935606] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 1127.935606] Process sshd (pid: 2148, ti=df6b6000 task=de2d1400 task.ti=df6b6000) [ 1127.935606] Stack: 00000001 de7bc56c 000000d0 df401240 00000010 00000001 00000000 00000001 [ 1127.935606] c0349480 df401240 00000296 000000d0 c0162e1c c0349480 fffffffe de0d93c0 [ 1127.935606] 00000000 c0189afb df6b7fb8 de0d93c0 00000007 de7bc56c df6b7f44 00000000 [ 1127.935606] Call Trace: [ 1127.935606] [<c0162e1c>] kmem_cache_alloc+0x40/0x7d [ 1127.935606] [<c0189afb>] load_elf_binary+0x1d/0x103d [ 1127.935606] [<c01560be>] get_user_pages+0x29d/0x32d [ 1127.935606] [<c0168406>] get_arg_page+0x2a/0x79 [ 1127.935606] [<c0168650>] copy_strings+0x161/0x16b [ 1127.935606] [<c01686fc>] search_binary_handler+0x76/0x17c [ 1127.935606] [<c0169573>] do_execve+0x12b/0x1b6 [ 1127.935606] [<c0102138>] sys_execve+0x2a/0x49 [ 1127.935606] [<c01037b2>] syscall_call+0x7/0xb [ 1127.935606] [<c02a0000>] wext_handle_ioctl+0x17f/0x357 [ 1127.935606] ======================= [ 1127.935606] Code: c0 00 00 00 8b 37 39 fe 75 15 8b 77 10 8d 47 10 c7 47 30 01 00 00 00 39 c6 0f 84 9c 00 00 00 8b 54 24 0c 8b 42 1c 39 46 10 72 2e <0f> 0b eb fe 8b 44 24 0c 8b 5e 14 8b 4d 00 8b 50 10 8b 44 24 04 [ 1127.935606] EIP: [<c0162f1d>] cache_alloc_refill+0xc4/0x3e3 SS:ESP 0068:df6b7e9c [ 1127.935606] ---[ end trace 3a58b8adb484f036 ]--- Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.932915] ------------[ cut here ]------------ Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] invalid opcode: 0000 [#1] Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] Process sshd (pid: 2148, ti=df6b6000 task=de2d1400 task.ti=df6b6000) Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] Stack: 00000001 de7bc56c 000000d0 df401240 00000010 00000001 00000000 00000001 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] c0349480 df401240 00000296 000000d0 c0162e1c c0349480 fffffffe de0d93c0 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] 00000000 c0189afb df6b7fb8 de0d93c0 00000007 de7bc56c df6b7f44 00000000 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] Call Trace: Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c0162e1c>] kmem_cache_alloc+0x40/0x7d Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c0189afb>] load_elf_binary+0x1d/0x103d Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c01560be>] get_user_pages+0x29d/0x32d Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c0168406>] get_arg_page+0x2a/0x79 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c0168650>] copy_strings+0x161/0x16b Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c01686fc>] search_binary_handler+0x76/0x17c Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c0169573>] do_execve+0x12b/0x1b6 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c0102138>] sys_execve+0x2a/0x49 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c01037b2>] syscall_call+0x7/0xb Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] [<c02a0000>] wext_handle_ioctl+0x17f/0x357 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] ======================= Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] Code: c0 00 00 00 8b 37 39 fe 75 15 8b 77 10 8d 47 10 c7 47 30 01 00 00 00 39 c6 0f 84 9c 00 00 00 8b 54 24 0c 8b 42 1c 39 46 10 72 2e <0f> 0b eb fe 8b 44 24 0c 8b 5e 14 8b 4d 00 8b 50 10 8b 44 24 04 Message from syslogd@piepmatz at Sat Nov 1 16:58:20 2008 ... piepmatz kernel: [ 1127.935606] EIP: [<c0162f1d>] cache_alloc_refill+0xc4/0x3e3 SS:ESP 0068:df6b7e9c -------------------------------------------------------------------------------------------------------------------- After reboot: -------------------------------------------------------------------------------------------------------------------- piepmatz:/usr/local/sbin# modprobe -vr geode-aes hifn_795x rmmod /lib/modules/2.6.26-1-486/kernel/drivers/crypto/geode-aes.ko rmmod /lib/modul[ 179.825599] Driver for HIFN 795x crypto accelerator chip has been successfully unregistered. es/2.6.26-1-486/kernel/drivers/crypto/hifn_795x.ko rmmod /lib/modules/2.6.26-1-486/kernel/crypto/des_generic.ko piepmatz:/usr/local/sbin# piepmatz:/usr/local/sbin# createmisc cryptsetup -c aes-cbc-plain -y -s 256 luksFormat /dev/hdb4 WARNING! ======== This will overwrite data on /dev/hdb4 irrevocably. Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase: [ 266.354881] padlock: VIA PadLock not detected. Command successful. piepmatz:/usr/local/sbin# piepmatz:/usr/local/sbin# cryptsetup luksOpen /dev/hdb4 sehrsicher Enter LUKS passphrase: key slot 0 unlocked. Command successful. piepmatz:/usr/local/sbin# piepmatz:/usr/local/sbin# mkfs.ext2 -L MISC /dev/mapper/sehrsicher mke2fs 1.41.2 (02-Oct-2008) Dateisystem-Label=MISC OS-Typ: Linux Blockgröße=4096 (log=2) Fragmentgröße=4096 (log=2) 19226624 Inodes, 76884824 Blöcke 3844241 Blöcke (5.00%) reserviert für den Superuser Erster Datenblock=0 Maximale Dateisystem-Blöcke=0 2347 Blockgruppen 32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe 8192 Inodes pro Gruppe Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616 Schreibe Inode-Tabellen: 1313erledigt Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt Das Dateisystem wird automatisch nach jeweils 30 Einhäng-Vorgängen bzw. alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit tune2fs -c oder -t . piepmatz:/usr/local/sbin# ------------------------------------------------------------------------------------ FAZIT: When I use the software modules (aes_i586, aes_generic) all works. The hifn_795x module without geode-aes module works NOT! It seems when both modules hifn_795x and goede-aes are loaded only the geode-aes is used (only with keysize 128). Regards Andreas -- Andreas Gerlich, University of Ulm, Germany open source project --> http://yaze-ag.de/ (Yet Another Z80 Emulator) -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html