VIA/ACE PadLock integration with crypto(9).

Pawel Jakub Dawidek pjd at FreeBSD.org
Wed Aug 17 14:38:25 GMT 2005


On Tue, Aug 16, 2005 at 03:39:13PM -0400, Mike Tancsa wrote:
+> Fatal trap 12: page fault while in kernel mode
+> fault virtual address   = 0xc1ac7004
+> fault code              = supervisor write, page not present
+> instruction pointer     = 0x20:0xc0617b6c
+> stack pointer           = 0x28:0xcb788cf4
+> frame pointer           = 0x28:0xcb788d10
+> code segment            = base 0x0, limit 0xfffff, type 0x1b
+>                          = DPL 0, pres 1, def32 1, gran 1
+> processor eflags        = interrupt enabled, resume, IOPL = 0
+> current process         = 6 (crypto returns)
+> trap number             = 12
+> panic: page fault

Fix in HEAD. Thanks!

+> but I am still seeing lots of
+> 
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=17842176, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18366464, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18497536, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18628608, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18759680, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19283968, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19415040, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19546112, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19677184, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20201472, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20332544, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20463616, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20594688, length=131072)]

I'm afraid we need to live with it. GELI will handle those errors.
I'm testing now how will it perform when I'll run dedicated kernel thread
even for no-crypto-hardware case. Then I can allocate memory with M_WAITOK
flag (which is safe, as I don't use the same thread to free previous
requests). If there will be significant performance impact, I'll just
silence those warnings.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20050817/314b4a50/attachment.bin


More information about the freebsd-current mailing list