Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Aug 2005 15:39:13 -0400
From:      Mike Tancsa <mike@sentex.net>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        FreeBSD-current <freebsd-current@FreeBSD.org>
Subject:   Re: VIA/ACE PadLock integration with crypto(9).
Message-ID:  <6.2.3.4.0.20050816145557.03314eb8@64.7.153.2>
In-Reply-To: <20050812182032.GB27996@garage.freebsd.pl>
References:  <20050812134511.GE25162@garage.freebsd.pl> <6.2.3.4.0.20050812130608.07aaf5f8@64.7.153.2> <20050812181802.GA27996@garage.freebsd.pl> <20050812182032.GB27996@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
At 02:20 PM 12/08/2005, Pawel Jakub Dawidek wrote:
>On Fri, Aug 12, 2005 at 08:18:02PM +0200, Pawel Jakub Dawidek wrote:
>+> This is known problem iv pagedaemon.
>+> You need sys/vm/vm_pageout.c rev1.269. It should work also in RELENG_6.
>+> Could you try again with this fix?
>
>It was just MFCed, so for RELENG_6 you need sys/vm/vm_pageout.c
>rev. 1.268.2.1.

Still no luck as with RELENG_6 as of this AM. It=20
seems to die in the same location-- when bonnie=20
starts into its re-writing test.  It seems to=20
make it through without the padlock.ko module loaded.


# kgdb  /usr/obj/usr/src/sys/pioneer/kernel.debug vmcore.4
[GDB will not be able to debug user-mode threads:=20
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain=
 conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D8011776, length=3D131072)]


Fatal trap 12: page fault while in kernel mode
fault virtual address   =3D 0xc1ac7004
fault code              =3D supervisor write, page not present
instruction pointer     =3D 0x20:0xc0617b6c
stack pointer           =3D 0x28:0xcb788cf4
frame pointer           =3D 0x28:0xcb788d10
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                         =3D DPL 0, pres 1, def32 1, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 6 (crypto returns)
trap number             =3D 12
panic: page fault
Uptime: 17m0s
Dumping 239 MB (2 chunks)
   chunk 0: 1MB (160 pages) ... ok
   chunk 1: 239MB (61168 pages) 223 207 191 175=20
159 143 127 111 95 79 63 47 31 15

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
         in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc0539e0d in boot (howto=3D260) at=
 /usr/src/sys/kern/kern_shutdown.c:397
#2  0xc053a0a0 in panic (fmt=3D0xc06e7b63 "%s") at=20
/usr/src/sys/kern/kern_shutdown.c:553
#3  0xc06a8374 in trap_fatal (frame=3D0xcb788cb4,=20
eva=3D3249303556) at /usr/src/sys/i386/i386/trap.c:841
#4  0xc06a80df in trap_pfault (frame=3D0xcb788cb4,=20
usermode=3D0, eva=3D3249303556) at /usr/src/sys/i386/i386/trap.c:752
#5  0xc06a7d25 in trap (frame=3D
       {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi=20
=3D 0, tf_esi =3D -1045798048, tf_ebp =3D -881292016,=20
tf_isp =3D -881292064, tf_ebx =3D -1051817936, tf_edx=20
=3D -1045663744, tf_ecx =3D -1066097312, tf_eax =3D=20
-1066016732, tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D=20
-1067353236, tf_cs =3D 32, tf_eflags =3D 66182,=20
tf_esp =3D 0, tf_ss =3D 0}) at /usr/src/sys/i386/i386/trap.c:442
#6  0xc06975da in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0x00000008 in ?? ()
#8  0x00000028 in ?? ()
#9  0x00000028 in ?? ()
#10 0x00000000 in ?? ()
#11 0xc1aa6360 in ?? ()
#12 0xcb788d10 in ?? ()
#13 0xcb788ce0 in ?? ()
#14 0xc14e8830 in ?? ()
#15 0xc1ac7000 in ?? ()
#16 0xc074a560 in g_wither_work ()
#17 0xc075e024 in crypto_q_mtx ()
#18 0x0000000c in ?? ()
#19 0x00000002 in ?? ()
#20 0xc0617b6c in crypto_ret_proc () at=
 /usr/src/sys/opencrypto/crypto.c:1202
#21 0xc0524fd8 in fork_exit (callout=3D0xc0617b1c=20
<crypto_ret_proc>, arg=3D0x0, frame=3D0xcb788d38) at=20
/usr/src/sys/kern/kern_fork.c:789
#22 0xc069763c in fork_trampoline () at=
 /usr/src/sys/i386/i386/exception.s:208
(kgdb) bt full
#0  doadump () at pcpu.h:165
No locals.
#1  0xc0539e0d in boot (howto=3D260) at=
 /usr/src/sys/kern/kern_shutdown.c:397
         first_buf_printf =3D 1
#2  0xc053a0a0 in panic (fmt=3D0xc06e7b63 "%s") at=20
/usr/src/sys/kern/kern_shutdown.c:553
         td =3D (struct thread *) 0xc14c3780
         bootopt =3D 260
         newpanic =3D 0
         ap =3D 0xc14c3780 "0\210N=C1@HL=C1"
         buf =3D "page fault", '\0' <repeats 245 times>
#3  0xc06a8374 in trap_fatal (frame=3D0xcb788cb4,=20
eva=3D3249303556) at /usr/src/sys/i386/i386/trap.c:841
         code =3D 40
         type =3D 12
         ss =3D 40
         esp =3D 0
         softseg =3D {ssd_base =3D 0, ssd_limit =3D=20
1048575, ssd_type =3D 27, ssd_dpl =3D 0, ssd_p =3D 1, ssd_xx =3D 8, ssd_xx1=
 =3D 0,
   ssd_def32 =3D 1, ssd_gran =3D 1}
#4  0xc06a80df in trap_pfault (frame=3D0xcb788cb4,=20
usermode=3D0, eva=3D3249303556) at /usr/src/sys/i386/i386/trap.c:752
         va =3D 3249303552
         vm =3D (struct vmspace *) 0x0
         map =3D 0xc1043000
         rv =3D 1
         ftype =3D 1 '\001'
         td =3D (struct thread *) 0xc14c3780
         p =3D (struct proc *) 0xc14e8830
#5  0xc06a7d25 in trap (frame=3D
       {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi=20
=3D 0, tf_esi =3D -1045798048, tf_ebp =3D -881292016,=20
tf_isp =3D -881292064, tf_ebx =3D -1051817936, tf_edx=20
=3D -1045663744, tf_ecx =3D -1066097312, tf_eax =3D=20
-1066016732, tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D=20
-1067353236, tf_cs =3D 32, tf_eflags =3D 66182,=20
tf_esp =3D 0, tf_ss =3D 0}) at /usr/src/sys/i386/i386/trap.c:442
         td =3D (struct thread *) 0xc14c3780
         p =3D (struct proc *) 0xc14e8830
         sticks =3D 3413675188
         i =3D 0
         ucode =3D 0
         type =3D 12
         code =3D 2
         eva =3D 3249303556
#6  0xc06975da in calltrap () at /usr/src/sys/i386/i386/exception.s:139
No locals.
#7  0x00000008 in ?? ()
No symbol table info available.
#8  0x00000028 in ?? ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#9  0x00000028 in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
#11 0xc1aa6360 in ?? ()
No symbol table info available.
#12 0xcb788d10 in ?? ()
No symbol table info available.
#13 0xcb788ce0 in ?? ()
No symbol table info available.
#14 0xc14e8830 in ?? ()
No symbol table info available.
#15 0xc1ac7000 in ?? ()
No symbol table info available.
#16 0xc074a560 in g_wither_work ()
No symbol table info available.
#17 0xc075e024 in crypto_q_mtx ()
No symbol table info available.
#18 0x0000000c in ?? ()
No symbol table info available.
#19 0x00000002 in ?? ()
No symbol table info available.
#20 0xc0617b6c in crypto_ret_proc () at=
 /usr/src/sys/opencrypto/crypto.c:1202
         crpt =3D (struct cryptop *) 0xc1aa6360
         krpt =3D (struct cryptkop *) 0x0
#21 0xc0524fd8 in fork_exit (callout=3D0xc0617b1c=20
<crypto_ret_proc>, arg=3D0x0, frame=3D0xcb788d38) at=20
/usr/src/sys/kern/kern_fork.c:789
         p =3D (struct proc *) 0xc14e8830
         td =3D (struct thread *) 0x0
#22 0xc069763c in fork_trampoline () at=
 /usr/src/sys/i386/i386/exception.s:208
No locals.
(kgdb)



and with a 192 bit key

# kgdb /usr/obj/usr/src/sys/pioneer/kernel.debug /var/crash/vmcore.5
[GDB will not be able to debug user-mode threads:=20
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain=
 conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:
Cannot access memory at address 0xc101e2b3
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc0539e0d in boot (howto=3D260) at=
 /usr/src/sys/kern/kern_shutdown.c:397
#2  0xc053a0a0 in panic (fmt=3D0xc06e7b63 "%s") at=20
/usr/src/sys/kern/kern_shutdown.c:553
#3  0xc06a8374 in trap_fatal (frame=3D0xcb788cb4,=20
eva=3D3249524740) at /usr/src/sys/i386/i386/trap.c:841
#4  0xc06a80df in trap_pfault (frame=3D0xcb788cb4,=20
usermode=3D0, eva=3D3249524740) at /usr/src/sys/i386/i386/trap.c:752
#5  0xc06a7d25 in trap (frame=3D
       {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi=20
=3D 0, tf_esi =3D -1045576864, tf_ebp =3D -881292016,=20
tf_isp =3D -881292064, tf_ebx =3D -1051817936, tf_edx=20
=3D -1045442560, tf_ecx =3D -1066097312, tf_eax =3D=20
-1066016732, tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D=20
-1067353236, tf_cs =3D 32, tf_eflags =3D 66182,=20
tf_esp =3D 0, tf_ss =3D 0}) at /usr/src/sys/i386/i386/trap.c:442
#6  0xc06975da in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0x00000008 in ?? ()
#8  0x00000028 in ?? ()
#9  0x00000028 in ?? ()
#10 0x00000000 in ?? ()
#11 0xc1adc360 in ?? ()
#12 0xcb788d10 in ?? ()
#13 0xcb788ce0 in ?? ()
#14 0xc14e8830 in ?? ()
#15 0xc1afd000 in ?? ()
#16 0xc074a560 in g_wither_work ()
#17 0xc075e024 in crypto_q_mtx ()
#18 0x0000000c in ?? ()
#19 0x00000002 in ?? ()
#20 0xc0617b6c in crypto_ret_proc () at=
 /usr/src/sys/opencrypto/crypto.c:1202
#21 0xc0524fd8 in fork_exit (callout=3D0xc0617b1c=20
<crypto_ret_proc>, arg=3D0x0, frame=3D0xcb788d38) at=20
/usr/src/sys/kern/kern_fork.c:789
#22 0xc069763c in fork_trampoline () at=
 /usr/src/sys/i386/i386/exception.s:208
(kgdb) bt full
#0  doadump () at pcpu.h:165
No locals.
#1  0xc0539e0d in boot (howto=3D260) at=
 /usr/src/sys/kern/kern_shutdown.c:397
         first_buf_printf =3D 1
#2  0xc053a0a0 in panic (fmt=3D0xc06e7b63 "%s") at=20
/usr/src/sys/kern/kern_shutdown.c:553
         td =3D (struct thread *) 0xc14c3780
         bootopt =3D 260
         newpanic =3D 0
         ap =3D 0xc14c3780 "0\210N=C1@HL=C1"
         buf =3D "page fault", '\0' <repeats 245 times>
#3  0xc06a8374 in trap_fatal (frame=3D0xcb788cb4,=20
eva=3D3249524740) at /usr/src/sys/i386/i386/trap.c:841
         code =3D 40
         type =3D 12
         ss =3D 40
         esp =3D 0
         softseg =3D {ssd_base =3D 0, ssd_limit =3D=20
1048575, ssd_type =3D 27, ssd_dpl =3D 0, ssd_p =3D 1, ssd_xx =3D 8, ssd_xx1=
 =3D 0,
   ssd_def32 =3D 1, ssd_gran =3D 1}
#4  0xc06a80df in trap_pfault (frame=3D0xcb788cb4,=20
usermode=3D0, eva=3D3249524740) at /usr/src/sys/i386/i386/trap.c:752
         va =3D 3249524736
         vm =3D (struct vmspace *) 0x0
         map =3D 0xc1043000
         rv =3D 1
         ftype =3D 1 '\001'
         td =3D (struct thread *) 0xc14c3780
         p =3D (struct proc *) 0xc14e8830
#5  0xc06a7d25 in trap (frame=3D
       {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi=20
=3D 0, tf_esi =3D -1045576864, tf_ebp =3D -881292016,=20
tf_isp =3D -881292064, tf_ebx =3D -1051817936, tf_edx=20
=3D -1045442560, tf_ecx =3D -1066097312, tf_eax =3D=20
-1066016732, tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D=20
-1067353236, tf_cs =3D 32, tf_eflags =3D 66182,=20
tf_esp =3D 0, tf_ss =3D 0}) at /usr/src/sys/i386/i386/trap.c:442
         td =3D (struct thread *) 0xc14c3780
         p =3D (struct proc *) 0xc14e8830
         sticks =3D 3413675188
         i =3D 0
         ucode =3D 0
         type =3D 12
         code =3D 2
         eva =3D 3249524740
#6  0xc06975da in calltrap () at /usr/src/sys/i386/i386/exception.s:139
No locals.
#7  0x00000008 in ?? ()
No symbol table info available.
#8  0x00000028 in ?? ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#9  0x00000028 in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
#11 0xc1adc360 in ?? ()
No symbol table info available.
#12 0xcb788d10 in ?? ()
No symbol table info available.
#13 0xcb788ce0 in ?? ()
No symbol table info available.
#14 0xc14e8830 in ?? ()
No symbol table info available.
#15 0xc1afd000 in ?? ()
No symbol table info available.
#16 0xc074a560 in g_wither_work ()
No symbol table info available.
#17 0xc075e024 in crypto_q_mtx ()
No symbol table info available.
#18 0x0000000c in ?? ()
No symbol table info available.
#19 0x00000002 in ?? ()
No symbol table info available.
#20 0xc0617b6c in crypto_ret_proc () at=
 /usr/src/sys/opencrypto/crypto.c:1202
         crpt =3D (struct cryptop *) 0xc1adc360
         krpt =3D (struct cryptkop *) 0x0
#21 0xc0524fd8 in fork_exit (callout=3D0xc0617b1c=20
<crypto_ret_proc>, arg=3D0x0, frame=3D0xcb788d38) at=20
/usr/src/sys/kern/kern_fork.c:789
         p =3D (struct proc *) 0xc14e8830
         td =3D (struct thread *) 0x0
#22 0xc069763c in fork_trampoline () at=
 /usr/src/sys/i386/i386/exception.s:208
No locals.
(kgdb)


Without the padlock.ko, it does seem to make it through OK.

but I am still seeing lots of

GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D17842176, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D18366464, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D18497536, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D18628608, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D18759680, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D19283968, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D19415040, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D19546112, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D19677184, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D20201472, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D20332544, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D20463616, length=3D131072)]
GEOM_ELI: g_eli_crypto_run() failed (error=3D12).=20
ad0s1e.eli[WRITE(offset=3D20594688, length=3D131072)]

even with RELENG_6 as of this morning (including your latest MFCs)

         ---Mike=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.2.3.4.0.20050816145557.03314eb8>