[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
kernel/3739: encryption process gets stuck in when using the hifn driver in userland
- To: gnats@openbsd.org
- Subject: kernel/3739: encryption process gets stuck in when using the hifn driver in userland
- From: mike@sentex.ca
- Date: Tue, 6 Apr 2004 17:47:33 -0400 (EDT)
- Cc: mike@sentex.ca
- Resent-Date: Wed, 7 Apr 2004 11:35:02 -0600 (MDT)
- Resent-From: gnats@cvs.openbsd.org (GNATS Filer)
- Resent-Message-Id: <200404071735.i37HZ270001412@cvs.openbsd.org>
- Resent-Reply-To: gnats@cvs.openbsd.org, mike@sentex.ca
- Resent-To: bugs@cvs.openbsd.org
>Number: 3739
>Category: kernel
>Synopsis: encryption process gets stuck in when using the hifn driver in userland
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Wed Apr 07 17:30:02 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:
>Release: snapshot April 6th 2004
>Organization:
>Environment:
System : OpenBSD 3.5
Architecture: OpenBSD.i386
Machine : i386
>Description:
It seems when multiple userland encryption processes are run that are using an hifn card,
something is getting 'wedged'. The problem is somewhat easy to
repeat, but not totally predictable. The box is only a test box so if someone would like
access to it, that could be arranged.
>How-To-Repeat:
* Login with an non accelerated ssh session (e.g. blowfish as the cipher)
* In another session, login with using AES-128 (ie. one that will get offloaded to the Hifn card
* In the blowfish session, start an encryption process, pipe it through ssh to dump
to another machine e.g
/usr/sbin/openssl aes-128-cbc -in big -k pass | ssh -c aes128-cbc mdtancsa@192.168.43.208 \
"cat - > /home/mdtancsa/targetfile.enc"
At random periods, the process will get "stuck"
* In the AES-128 session, just hit the enter key. The ssl | ssh commands will become
"unstuck." Basically, you just need to do something else that touches the crypto card. e.g.
If you are on the console,
head /dev/urandom | openssl aes-128-cbc -out /dev/null -k pass
will do the trick.
The machine is nothing special. The machine on the other side can be anything that supports ssh
OpenBSD 3.5 (GENERIC) #34: Mon Mar 29 12:24:55 MST 2004
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Celeron(TM) CPU 1000MHz ("GenuineIntel" 686-class) 1.01 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE
real mem = 528003072 (515628K)
avail mem = 483446784 (472116K)
using 4278 buffers containing 26501120 bytes (25880K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(e3) BIOS, date 10/09/01, BIOS32 rev. 0 @ 0xfb370
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
pcibios0 at bios0: rev. 2.1 @ 0xf0000/0xdd64
pcibios0: PCI IRQ Routing Table rev. 1.0 @ 0xfdce0/128 (6 entries)
pcibios0: PCI Exclusive IRQs: 5 10 11 12
pcibios0: PCI Interrupt Router at 000:07:0 ("VIA VT82C596A ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0xc000
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "VIA VT8601 PCI" rev 0x05
ppb0 at pci0 dev 1 function 0 "VIA VT82C601 AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "Trident CyberBlade i1" rev 0x6a
wsdisplay0 at vga1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pcib0 at pci0 dev 7 function 0 "VIA VT82C686 ISA" rev 0x40
pciide0 at pci0 dev 7 function 1 "VIA VT82C571 IDE" rev 0x06: ATA100, channel 0 configured to compatibility, chan
nel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <ST340014A>
wd0: 16-sector PIO, LBA48, 38166MB, 78165360 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <AOPEN, 16XDVD-ROM/AMH, R14> SCSI0 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
uhci0 at pci0 dev 7 function 2 "VIA VT83C572 USB" rev 0x1a: irq 5
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 7 function 3 "VIA VT83C572 USB" rev 0x1a: irq 5
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
viaenv0 at pci0 dev 7 function 4 "VIA VT82C686 SMBus" rev 0x40
auvia0 at pci0 dev 7 function 5 "VIA VT82C686 AC97 Audio" rev 0x50: irq 12
ac97: codec id 0x49434511 (ICEnsemble ICE1232)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
audio0 at auvia0
hifn0 at pci0 dev 10 function 0 "Hifn 7955/7954" rev 0x00: LZS 3DES ARC4 MD5 SHA1 RNG AES PK, 32KB dram, irq 11
rl0 at pci0 dev 17 function 0 "Realtek 8139" rev 0x10: irq 11 address 00:01:80:0d:c0:d1
rlphy0 at rl0 phy 0: RTL internal phy
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask c060 netmask c860 ttymask c8e2
pctr: 686-class user-level performance counters enabled
mtrr: Pentium Pro MTRR support
dkcsum: wd0 matched BIOS disk 80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
uplcom0 at uhub0 port 2
uplcom0: Prolific Technology PL2303 Serial adapter, rev 1.10/2.02, addr 2
ucom0 at uplcom0
>Fix:
None. Note, this same problem also happens on FreeBSD in the same way. The machine is
just a test machine and can be made available to anyone interested in helping to debug
this problem
>Release-Note:
>Audit-Trail:
>Unformatted: