On Sat, May 15, 2010 at 01:04:01PM +0300, Kostik Belousov wrote:
> Hello,
> 
> please find at http://people.freebsd.org/~kib/misc/aesni.1.patch the
> combined patch, containing the fpu_kern KPI and Intel AESNI crypto(9)
> driver.  I did development and some testing on the hardware generously
> provided by Sentex Communications to Netperf cluster.

Nice work. Few comments:

- Could you modify this chunk in padlock.c:

+               td = curthread;
+               error = fpu_kern_enter(td, &ses->ses_fpu_ctx);
+               if (error != 0)
+                       goto out;
                error = padlock_hash_setup(ses, macini);
+               fpu_kern_leave(td, &ses->ses_fpu_ctx);
+       out:

  To something without goto, eg.:

                td = curthread;
                error = fpu_kern_enter(td, &ses->ses_fpu_ctx);
                if (error == 0) {
                        error = padlock_hash_setup(ses, macini);
                        fpu_kern_leave(td, &ses->ses_fpu_ctx);
                }

- I see that in sys/dev/random/nehemiah.c you don't check for return
  value of fpu_kern_enter(). That's the only place where you ignore it.
  Is that intended?

- Unfortunately the driver in its current version can't be used with
  IPsec and with GELI where authentication is enabled. This is because
  the driver doesn't support sessions where both encryption and
  authentication is defined. Do you have plans to change it?
  I saw that you based crypto(9) bits on padlock, which does support
  sessions with authentication by calculating hashes in software.

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
p...@freebsd.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Attachment: pgptFXEkt9czc.pgp
Description: PGP signature

Reply via email to