amd64/135014: [padlock] Using padlock(4) in 8-current triggers "fpudna in kernel mode!" warnings

Patrick Lamaiziere patfbsd at davenulle.org
Tue Dec 15 11:10:03 PST 2009


The following reply was made to PR amd64/135014; it has been noted by GNATS.

From: Patrick Lamaiziere <patfbsd at davenulle.org>
To: bug-followup at freebsd.org
Cc: Bruce Evans <brde at optusnet.com.au>, freebsd-amd64 at FreeBSD.org
Subject: Re: amd64/135014: [padlock] Using padlock(4) in 8-current triggers
 "fpudna in kernel mode!" warnings
Date: Tue, 15 Dec 2009 20:04:59 +0100

 Le Wed, 16 Dec 2009 01:35:07 +1100 (EST),
 Bruce Evans <brde at optusnet.com.au> a =E9crit :
 
 > [This probably won't make it into the followup, since gnats still
 > doesn't generate useful followup addresses and I didn't tyy to edit
 > the headers.]
 >=20
 > > Synopsis: [padlock] Using padlock(4) in 8-current triggers "fpudna
 > > in kernel mode!" warnings
 >=20
 > > By request of Michael Moll in followup, reclassify this as an amd64
 > > bug.  His theory is that the floating-point registers may not be
 > > being handled correctly in the kernel.
 >=20
 > This seems to be a bug in padlock(4).  Apparently the inline asm that
 > it uses requires the FPU.  But use of the FPU in the kernel is not
 > supported. (except the obsolete i586 copy optimizations).
 
 According to the Linux code, padlock does not use the FPU but can
 generate a DNA fault:
 http://fxr.watson.org/fxr/source/drivers/crypto/padlock-aes.c?v=3Dlinux-2.6=
 #L182
 =20
 They use a irq_ts_save() / restore operation between padlock
 intruction. I don't know if there are similar things into the FreeBSD
 kernel:
 http://fxr.watson.org/fxr/source/drivers/crypto/padlock-aes.c?v=3Dlinux-2.6=
 #L296
 
 See also this thread:
 http://lkml.indiana.edu/hypermail/linux/kernel/0808.1/0306.html
 
 HTH, regards.


More information about the freebsd-amd64 mailing list