Subject: Re: Another serious bug in NetBSD-1.6.1
To: David Laight <david@l8s.co.uk>
From: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
List: current-users
Date: 03/13/2003 15:18:08
Hello David et al. I want to appologize in advance for the seemingly
i386 slant on this particular message. I'm preparing for an international
trip, and I wanted to get this out to the group before I left. Thus, it's
not quite as clean as I'd like. Below is the disassembled listing of the
genfs_putpages function in I386 form. David asked which section of the
code was executing when the trap was called, and I hope this answers that
question. (I would have found the particular lines in C if I had had more
time.)
In any case, I'm running:
/* $NetBSD: genfs_vnops.c,v 1.63.2.2 2002/10/23 12:18:12 lukem Exp $
The listing of the assembly from the particular panicing kernel in question
is below. Perhaps this will shed light on the problem.
-Brian
%gdb netbsd.2
GNU gdb 5.0nb1
Copyright 2000 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--netbsdelf"...(no debugging symbols found)...
(gdb) target kcore netbsd.2.core
panic: trap
#0 0x1 in ?? ()
(gdb) up
#1 0xc030cb4f in cpu_reboot ()
(gdb)
#2 0xc028375e in panic ()
(gdb)
#3 0xc02752c1 in lockmgr ()
(gdb)
#4 0xc02a5a78 in genfs_lock ()
(gdb)
#5 0xc02a4b5a in VOP_LOCK ()
(gdb)
#6 0xc02a431d in vn_lock ()
(gdb)
#7 0xc029df7c in vget ()
(gdb)
#8 0xc0245733 in ffs_sync ()
(gdb)
#9 0xc02a0242 in sys_sync ()
(gdb)
#10 0xc029f262 in vfs_shutdown ()
(gdb)
#11 0xc030cb27 in cpu_reboot ()
(gdb)
#12 0xc028375e in panic ()
(gdb)
#13 0xc03134ce in trap ()
(gdb)
#14 0xc0100bf7 in calltrap ()
(gdb)
#15 0xc02a7021 in genfs_putpages ()
(gdb) disass
Dump of assembler code for function genfs_putpages:
0xc02a6bd8 <genfs_putpages>: push %ebp
0xc02a6bd9 <genfs_putpages+1>: mov %esp,%ebp
0xc02a6bdb <genfs_putpages+3>: sub $0xcc,%esp
0xc02a6be1 <genfs_putpages+9>: push %edi
0xc02a6be2 <genfs_putpages+10>: push %esi
0xc02a6be3 <genfs_putpages+11>: push %ebx
0xc02a6be4 <genfs_putpages+12>: mov 0x8(%ebp),%eax
0xc02a6be7 <genfs_putpages+15>: mov 0x4(%eax),%edx
0xc02a6bea <genfs_putpages+18>: mov %edx,0xffffff8c(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6bed <genfs_putpages+21>: mov 0x8(%eax),%ecx
0xc02a6bf0 <genfs_putpages+24>: mov 0xc(%eax),%ebx
0xc02a6bf3 <genfs_putpages+27>: mov %ecx,0xffffff84(%ebp)
0xc02a6bf6 <genfs_putpages+30>: mov %ebx,0xffffff88(%ebp)
0xc02a6bf9 <genfs_putpages+33>: mov 0x10(%eax),%edx
0xc02a6bfc <genfs_putpages+36>: mov 0x14(%eax),%ecx
0xc02a6bff <genfs_putpages+39>: mov %edx,0xffffff7c(%ebp)
0xc02a6c05 <genfs_putpages+45>: mov %ecx,0xffffff80(%ebp)
0xc02a6c08 <genfs_putpages+48>: mov 0x18(%eax),%eax
0xc02a6c0b <genfs_putpages+51>: mov %eax,0xffffff70(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6c11 <genfs_putpages+57>: sub $0x40,%esp
0xc02a6c14 <genfs_putpages+60>: mov %esp,0xffffff64(%ebp)
0xc02a6c1a <genfs_putpages+66>: mov %eax,0xffffff50(%ebp)
0xc02a6c20 <genfs_putpages+72>: shrl 0xffffff50(%ebp)
0xc02a6c26 <genfs_putpages+78>: xorb $0x1,0xffffff50(%ebp)
0xc02a6c2d <genfs_putpages+85>: andl $0x1,0xffffff50(%ebp)
0xc02a6c34 <genfs_putpages+92>: mov 0xc0607630,%eax
0xc02a6c39 <genfs_putpages+97>: cmp %eax,0xc05b5fe8
0xc02a6c3f <genfs_putpages+103>: sete %al
0xc02a6c42 <genfs_putpages+106>: movzbl %al,%ecx
---Type <return> to continue, or q <return> to quit---
0xc02a6c45 <genfs_putpages+109>: mov %ecx,0xffffff4c(%ebp)
0xc02a6c4b <genfs_putpages+115>: mov 0xffffff8c(%ebp),%ebx
0xc02a6c4e <genfs_putpages+118>: cmpl $0x0,0x10(%ebx)
0xc02a6c52 <genfs_putpages+122>: jne 0xc02a6cb0 <genfs_putpages+216>
0xc02a6c54 <genfs_putpages+124>: mov 0xc0608fac,%ecx
0xc02a6c5a <genfs_putpages+130>: mov %ecx,%eax
0xc02a6c5c <genfs_putpages+132>: or 0xc0608ef8,%eax
0xc02a6c62 <genfs_putpages+138>: mov %eax,0xc0608fac
0xc02a6c67 <genfs_putpages+143>: cmpl $0x0,0x50(%ebx)
0xc02a6c6b <genfs_putpages+147>: jne 0xc02a6c93 <genfs_putpages+187>
---Type <return> to continue, or q <return> to quit---
0xc02a6c6d <genfs_putpages+149>: mov 0x20(%ebx),%eax
0xc02a6c70 <genfs_putpages+152>: test $0x40,%ah
0xc02a6c73 <genfs_putpages+155>: je 0xc02a6c93 <genfs_putpages+187>
0xc02a6c75 <genfs_putpages+157>: and $0xbf,%ah
0xc02a6c78 <genfs_putpages+160>: mov %eax,0x20(%ebx)
0xc02a6c7b <genfs_putpages+163>: mov 0x54(%ebx),%edx
0xc02a6c7e <genfs_putpages+166>: test %edx,%edx
0xc02a6c80 <genfs_putpages+168>: je 0xc02a6c88 <genfs_putpages+176>
0xc02a6c82 <genfs_putpages+170>: mov 0x58(%ebx),%eax
0xc02a6c85 <genfs_putpages+173>: mov %eax,0x58(%edx)
---Type <return> to continue, or q <return> to quit---
0xc02a6c88 <genfs_putpages+176>: mov 0xffffff8c(%ebp),%eax
0xc02a6c8b <genfs_putpages+179>: mov 0x58(%eax),%edx
0xc02a6c8e <genfs_putpages+182>: mov 0x54(%eax),%eax
0xc02a6c91 <genfs_putpages+185>: mov %eax,(%edx)
0xc02a6c93 <genfs_putpages+187>: mov %ecx,0xc0608fac
0xc02a6c99 <genfs_putpages+193>: not %ecx
0xc02a6c9b <genfs_putpages+195>: mov 0xc0607ec4,%eax
0xc02a6ca0 <genfs_putpages+200>: test %ecx,%eax
0xc02a6ca2 <genfs_putpages+202>: je 0xc02a6ca9 <genfs_putpages+209>
0xc02a6ca4 <genfs_putpages+204>: call 0xc0101e08 <eintrnames>
---Type <return> to continue, or q <return> to quit---
0xc02a6ca9 <genfs_putpages+209>: xor %eax,%eax
0xc02a6cab <genfs_putpages+211>: jmp 0xc02a759c <genfs_putpages+2500>
0xc02a6cb0 <genfs_putpages+216>: movl $0x0,0xffffff6c(%ebp)
0xc02a6cba <genfs_putpages+226>: mov 0xc0608fac,%edx
0xc02a6cc0 <genfs_putpages+232>: mov %edx,%eax
0xc02a6cc2 <genfs_putpages+234>: or 0xc0608ef8,%eax
0xc02a6cc8 <genfs_putpages+240>: mov %eax,0xc0608fac
0xc02a6ccd <genfs_putpages+245>: mov 0xffffff8c(%ebp),%ecx
0xc02a6cd0 <genfs_putpages+248>: cmpl $0x0,0x24(%ecx)
0xc02a6cd4 <genfs_putpages+252>: sete %al
---Type <return> to continue, or q <return> to quit---
0xc02a6cd7 <genfs_putpages+255>: movzbl %al,%ebx
0xc02a6cda <genfs_putpages+258>: mov %ebx,0xffffff5c(%ebp)
0xc02a6ce0 <genfs_putpages+264>: mov %edx,0xc0608fac
0xc02a6ce6 <genfs_putpages+270>: not %edx
0xc02a6ce8 <genfs_putpages+272>: mov 0xc0607ec4,%eax
0xc02a6ced <genfs_putpages+277>: test %edx,%eax
0xc02a6cef <genfs_putpages+279>: je 0xc02a6cf6 <genfs_putpages+286>
0xc02a6cf1 <genfs_putpages+281>: call 0xc0101e08 <eintrnames>
0xc02a6cf6 <genfs_putpages+286>: mov 0xffffff84(%ebp),%eax
0xc02a6cf9 <genfs_putpages+289>: mov 0xffffff88(%ebp),%edx
---Type <return> to continue, or q <return> to quit---
0xc02a6cfc <genfs_putpages+292>: mov %eax,0xffffff74(%ebp)
0xc02a6d02 <genfs_putpages+298>: mov %edx,0xffffff78(%ebp)
0xc02a6d08 <genfs_putpages+304>: mov 0xffffff7c(%ebp),%eax
0xc02a6d0e <genfs_putpages+310>: or 0xffffff80(%ebp),%eax
0xc02a6d11 <genfs_putpages+313>: je 0xc02a6d1e <genfs_putpages+326>
0xc02a6d13 <genfs_putpages+315>: mov 0xffffff70(%ebp),%edx
0xc02a6d19 <genfs_putpages+321>: test $0x10,%dl
0xc02a6d1c <genfs_putpages+324>: je 0xc02a6d33 <genfs_putpages+347>
0xc02a6d1e <genfs_putpages+326>: mov 0xc047bcf0,%ecx
0xc02a6d24 <genfs_putpages+332>: mov 0xc047bcf4,%ebx
---Type <return> to continue, or q <return> to quit---
0xc02a6d2a <genfs_putpages+338>: mov %ecx,0xffffff7c(%ebp)
0xc02a6d30 <genfs_putpages+344>: mov %ebx,0xffffff80(%ebp)
0xc02a6d33 <genfs_putpages+347>: movl $0x0,0xffffff58(%ebp)
0xc02a6d3d <genfs_putpages+357>: mov 0xffffff8c(%ebp),%ebx
0xc02a6d40 <genfs_putpages+360>: mov 0x10(%ebx),%eax
0xc02a6d43 <genfs_putpages+363>: mov %eax,%esi
0xc02a6d45 <genfs_putpages+365>: mov %eax,%edi
0xc02a6d47 <genfs_putpages+367>: sar $0x1f,%edi
0xc02a6d4a <genfs_putpages+370>: mov 0xffffff7c(%ebp),%eax
0xc02a6d50 <genfs_putpages+376>: mov 0xffffff80(%ebp),%edx
---Type <return> to continue, or q <return> to quit---
0xc02a6d53 <genfs_putpages+379>: sub 0xffffff84(%ebp),%eax
0xc02a6d56 <genfs_putpages+382>: sbb 0xffffff88(%ebp),%edx
0xc02a6d59 <genfs_putpages+385>: shrd $0xc,%edx,%eax
0xc02a6d5d <genfs_putpages+389>: sar $0xc,%edx
0xc02a6d60 <genfs_putpages+392>: mov %eax,0xffffff3c(%ebp)
0xc02a6d66 <genfs_putpages+398>: mov %edx,0xffffff40(%ebp)
0xc02a6d6c <genfs_putpages+404>: mov $0x4,%ecx
0xc02a6d71 <genfs_putpages+409>: mul %ecx,%eax
0xc02a6d73 <genfs_putpages+411>: mov %eax,%ecx
0xc02a6d75 <genfs_putpages+413>: mov %edx,%ebx
---Type <return> to continue, or q <return> to quit---
0xc02a6d77 <genfs_putpages+415>: mov 0xffffff40(%ebp),%eax
0xc02a6d7d <genfs_putpages+421>: shl $0x2,%eax
0xc02a6d80 <genfs_putpages+424>: add %eax,%ebx
0xc02a6d82 <genfs_putpages+426>: cmp %ebx,%edi
0xc02a6d84 <genfs_putpages+428>: jg 0xc02a6d96 <genfs_putpages+446>
0xc02a6d86 <genfs_putpages+430>: jne 0xc02a6d8c <genfs_putpages+436>
0xc02a6d88 <genfs_putpages+432>: cmp %ecx,%esi
0xc02a6d8a <genfs_putpages+434>: ja 0xc02a6d96 <genfs_putpages+446>
0xc02a6d8c <genfs_putpages+436>: movl $0x1,0xffffff58(%ebp)
0xc02a6d96 <genfs_putpages+446>: movl $0x20,0xffffff68(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6da0 <genfs_putpages+456>: cmpl $0x0,0xffffff4c(%ebp)
0xc02a6da7 <genfs_putpages+463>: je 0xc02a6db3 <genfs_putpages+475>
0xc02a6da9 <genfs_putpages+465>: movl $0x10,0xffffff68(%ebp)
0xc02a6db3 <genfs_putpages+475>: mov 0xffffff8c(%ebp),%edx
0xc02a6db6 <genfs_putpages+478>: mov %edx,0xffffffe8(%ebp)
0xc02a6db9 <genfs_putpages+481>: movl $0xffffffff,0xffffffec(%ebp)
0xc02a6dc0 <genfs_putpages+488>: movl $0xffffffff,0xfffffff0(%ebp)
0xc02a6dc7 <genfs_putpages+495>: movw $0x1,0xfffffff4(%ebp)
0xc02a6dcd <genfs_putpages+501>: mov %edx,0xffffffb4(%ebp)
0xc02a6dd0 <genfs_putpages+504>: movl $0xffffffff,0xffffffb8(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6dd7 <genfs_putpages+511>: movl $0xffffffff,0xffffffbc(%ebp)
0xc02a6dde <genfs_putpages+518>: movw $0x1,0xffffffc0(%ebp)
0xc02a6de4 <genfs_putpages+524>: cmpl $0x0,0xffffff58(%ebp)
0xc02a6deb <genfs_putpages+531>: je 0xc02a6e38 <genfs_putpages+608>
0xc02a6ded <genfs_putpages+533>: mov 0x8(%edx),%esi
0xc02a6df0 <genfs_putpages+536>: movl $0x0,0xffffffa8(%ebp)
0xc02a6df7 <genfs_putpages+543>: mov 0xc(%edx),%eax
0xc02a6dfa <genfs_putpages+546>: mov %eax,0xffffffac(%ebp)
0xc02a6dfd <genfs_putpages+549>: mov 0xc(%edx),%eax
0xc02a6e00 <genfs_putpages+552>: lea 0xffffff98(%ebp),%ecx
---Type <return> to continue, or q <return> to quit---
0xc02a6e03 <genfs_putpages+555>: mov %ecx,(%eax)
0xc02a6e05 <genfs_putpages+557>: lea 0xffffffa8(%ebp),%ebx
0xc02a6e08 <genfs_putpages+560>: mov %ebx,0xc(%edx)
0xc02a6e0b <genfs_putpages+563>: mov 0xc05b5fe8,%edx
0xc02a6e11 <genfs_putpages+569>: mov 0xfc(%edx),%eax
0xc02a6e17 <genfs_putpages+575>: lea 0x1(%eax),%ecx
0xc02a6e1a <genfs_putpages+578>: mov %ecx,0xfc(%edx)
0xc02a6e20 <genfs_putpages+584>: test %eax,%eax
0xc02a6e22 <genfs_putpages+586>: jne 0xc02a6e51 <genfs_putpages+633>
0xc02a6e24 <genfs_putpages+588>: testb $0x4,0x30(%edx)
---Type <return> to continue, or q <return> to quit---
0xc02a6e28 <genfs_putpages+592>: jne 0xc02a6e51 <genfs_putpages+633>
0xc02a6e2a <genfs_putpages+594>: add $0xfffffff4,%esp
0xc02a6e2d <genfs_putpages+597>: push %edx
0xc02a6e2e <genfs_putpages+598>: call 0xc02fd6c0 <uvm_swapin>
0xc02a6e33 <genfs_putpages+603>: jmp 0xc02a6e4e <genfs_putpages+630>
0xc02a6e35 <genfs_putpages+605>: lea 0x0(%esi),%esi
0xc02a6e38 <genfs_putpages+608>: add $0xfffffffc,%esp
0xc02a6e3b <genfs_putpages+611>: mov 0xffffff84(%ebp),%eax
0xc02a6e3e <genfs_putpages+614>: mov 0xffffff88(%ebp),%edx
0xc02a6e41 <genfs_putpages+617>: push %edx
---Type <return> to continue, or q <return> to quit---
0xc02a6e42 <genfs_putpages+618>: push %eax
0xc02a6e43 <genfs_putpages+619>: mov 0xffffff8c(%ebp),%edx
0xc02a6e46 <genfs_putpages+622>: push %edx
0xc02a6e47 <genfs_putpages+623>: call 0xc0303ce0 <uvm_pagelookup>
0xc02a6e4c <genfs_putpages+628>: mov %eax,%esi
0xc02a6e4e <genfs_putpages+630>: add $0x10,%esp
0xc02a6e51 <genfs_putpages+633>: movl $0x0,0xffffff60(%ebp)
0xc02a6e5b <genfs_putpages+643>: mov 0xffffff70(%ebp),%ecx
0xc02a6e61 <genfs_putpages+649>: mov %ecx,0xffffff48(%ebp)
0xc02a6e67 <genfs_putpages+655>: andl $0x1,0xffffff48(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6e6e <genfs_putpages+662>: jmp 0xc02a7425 <genfs_putpages+2125>
0xc02a6e73 <genfs_putpages+667>: nop
0xc02a6e74 <genfs_putpages+668>: mov 0x24(%esi),%eax
0xc02a6e77 <genfs_putpages+671>: cmp %eax,0xffffff88(%ebp)
0xc02a6e7a <genfs_putpages+674>: jg 0xc02a73c4 <genfs_putpages+2028>
0xc02a6e80 <genfs_putpages+680>: jne 0xc02a6e8e <genfs_putpages+694>
0xc02a6e82 <genfs_putpages+682>: mov 0xffffff84(%ebp),%ebx
0xc02a6e85 <genfs_putpages+685>: cmp 0x20(%esi),%ebx
0xc02a6e88 <genfs_putpages+688>: ja 0xc02a73c4 <genfs_putpages+2028>
0xc02a6e8e <genfs_putpages+694>: cmp %eax,0xffffff80(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6e91 <genfs_putpages+697>: jg 0xc02a6ea8 <genfs_putpages+720>
0xc02a6e93 <genfs_putpages+699>: jne 0xc02a73c4 <genfs_putpages+2028>
0xc02a6e99 <genfs_putpages+705>: mov 0xffffff7c(%ebp),%eax
0xc02a6e9f <genfs_putpages+711>: cmp 0x20(%esi),%eax
0xc02a6ea2 <genfs_putpages+714>: jbe 0xc02a73c4 <genfs_putpages+2028>
0xc02a6ea8 <genfs_putpages+720>: movzwl 0x28(%esi),%eax
0xc02a6eac <genfs_putpages+724>: mov %eax,%ebx
0xc02a6eae <genfs_putpages+726>: test $0x30,%bl
0xc02a6eb1 <genfs_putpages+729>: jne 0xc02a73c4 <genfs_putpages+2028>
0xc02a6eb7 <genfs_putpages+735>: mov 0x20(%esi),%edx
---Type <return> to continue, or q <return> to quit---
0xc02a6eba <genfs_putpages+738>: mov 0x24(%esi),%ecx
0xc02a6ebd <genfs_putpages+741>: mov %edx,0xffffff74(%ebp)
0xc02a6ec3 <genfs_putpages+747>: mov %ecx,0xffffff78(%ebp)
0xc02a6ec9 <genfs_putpages+753>: jmp 0xc02a6f30 <genfs_putpages+856>
0xc02a6ecb <genfs_putpages+755>: nop
0xc02a6ecc <genfs_putpages+756>: test %esi,%esi
0xc02a6ece <genfs_putpages+758>: je 0xc02a6edb <genfs_putpages+771>
0xc02a6ed0 <genfs_putpages+760>: movzwl 0x28(%esi),%eax
0xc02a6ed4 <genfs_putpages+764>: mov %eax,%ebx
0xc02a6ed6 <genfs_putpages+766>: test $0x30,%bl
---Type <return> to continue, or q <return> to quit---
0xc02a6ed9 <genfs_putpages+769>: je 0xc02a6f30 <genfs_putpages+856>
0xc02a6edb <genfs_putpages+771>: addl $0x1000,0xffffff74(%ebp)
0xc02a6ee5 <genfs_putpages+781>: adcl $0x0,0xffffff78(%ebp)
0xc02a6eec <genfs_putpages+788>: mov 0xffffff78(%ebp),%ecx
0xc02a6ef2 <genfs_putpages+794>: cmp %ecx,0xffffff80(%ebp)
0xc02a6ef5 <genfs_putpages+797>: jg 0xc02a6f14 <genfs_putpages+828>
0xc02a6ef7 <genfs_putpages+799>: mov %ecx,%ebx
0xc02a6ef9 <genfs_putpages+801>: cmp %ebx,0xffffff80(%ebp)
0xc02a6efc <genfs_putpages+804>: jne 0xc02a7425 <genfs_putpages+2125>
0xc02a6f02 <genfs_putpages+810>: mov 0xffffff74(%ebp),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a6f08 <genfs_putpages+816>: cmp %eax,0xffffff7c(%ebp)
0xc02a6f0e <genfs_putpages+822>: jbe 0xc02a7425 <genfs_putpages+2125>
0xc02a6f14 <genfs_putpages+828>: add $0xfffffffc,%esp
0xc02a6f17 <genfs_putpages+831>: mov 0xffffff74(%ebp),%edx
0xc02a6f1d <genfs_putpages+837>: mov 0xffffff78(%ebp),%ecx
0xc02a6f23 <genfs_putpages+843>: push %ecx
0xc02a6f24 <genfs_putpages+844>: push %edx
0xc02a6f25 <genfs_putpages+845>: mov 0xffffff8c(%ebp),%ecx
0xc02a6f28 <genfs_putpages+848>: push %ecx
0xc02a6f29 <genfs_putpages+849>: jmp 0xc02a741b <genfs_putpages+2115>
---Type <return> to continue, or q <return> to quit---
0xc02a6f2e <genfs_putpages+854>: mov %esi,%esi
0xc02a6f30 <genfs_putpages+856>: xor %ecx,%ecx
0xc02a6f32 <genfs_putpages+858>: mov 0xc05b5fe8,%eax
0xc02a6f37 <genfs_putpages+863>: mov 0x34(%eax),%eax
0xc02a6f3a <genfs_putpages+866>: mov 0x8(%eax),%eax
0xc02a6f3d <genfs_putpages+869>: test $0x2,%al
0xc02a6f3f <genfs_putpages+871>: je 0xc02a6f4a <genfs_putpages+882>
0xc02a6f41 <genfs_putpages+873>: mov 0xffffff4c(%ebp),%ecx
0xc02a6f47 <genfs_putpages+879>: xor $0x1,%ecx
0xc02a6f4a <genfs_putpages+882>: test $0x1,%bl
---Type <return> to continue, or q <return> to quit---
0xc02a6f4d <genfs_putpages+885>: jne 0xc02a6f57 <genfs_putpages+895>
0xc02a6f4f <genfs_putpages+887>: test %ecx,%ecx
0xc02a6f51 <genfs_putpages+889>: je 0xc02a6fe0 <genfs_putpages+1032>
0xc02a6f57 <genfs_putpages+895>: cmpl $0x0,0xffffff58(%ebp)
0xc02a6f5e <genfs_putpages+902>: je 0xc02a6f78 <genfs_putpages+928>
0xc02a6f60 <genfs_putpages+904>: mov 0x14(%esi),%eax
0xc02a6f63 <genfs_putpages+907>: mov %eax,0xffffffe0(%ebp)
0xc02a6f66 <genfs_putpages+910>: mov %esi,0xffffffdc(%ebp)
0xc02a6f69 <genfs_putpages+913>: mov 0x14(%esi),%eax
0xc02a6f6c <genfs_putpages+916>: lea 0xffffffcc(%ebp),%ebx
---Type <return> to continue, or q <return> to quit---
0xc02a6f6f <genfs_putpages+919>: mov %ebx,(%eax)
0xc02a6f71 <genfs_putpages+921>: lea 0xffffffdc(%ebp),%eax
0xc02a6f74 <genfs_putpages+924>: mov %eax,0x14(%esi)
0xc02a6f77 <genfs_putpages+927>: nop
0xc02a6f78 <genfs_putpages+928>: test %ecx,%ecx
0xc02a6f7a <genfs_putpages+930>: je 0xc02a6f8c <genfs_putpages+948>
0xc02a6f7c <genfs_putpages+932>: add $0xfffffff4,%esp
0xc02a6f7f <genfs_putpages+935>: push $0x0
0xc02a6f81 <genfs_putpages+937>: call 0xc027bd94 <preempt>
0xc02a6f86 <genfs_putpages+942>: add $0x10,%esp
---Type <return> to continue, or q <return> to quit---
0xc02a6f89 <genfs_putpages+945>: jmp 0xc02a6fac <genfs_putpages+980>
0xc02a6f8b <genfs_putpages+947>: nop
0xc02a6f8c <genfs_putpages+948>: orb $0x2,0x28(%esi)
0xc02a6f90 <genfs_putpages+952>: add $0xfffffff4,%esp
0xc02a6f93 <genfs_putpages+955>: mov 0xffffff8c(%ebp),%edx
0xc02a6f96 <genfs_putpages+958>: push %edx
0xc02a6f97 <genfs_putpages+959>: push $0x0
0xc02a6f99 <genfs_putpages+961>: push $0xc047bcdf
0xc02a6f9e <genfs_putpages+966>: push $0x204
0xc02a6fa3 <genfs_putpages+971>: push %esi
---Type <return> to continue, or q <return> to quit---
0xc02a6fa4 <genfs_putpages+972>: call 0xc027b780 <ltsleep>
0xc02a6fa9 <genfs_putpages+977>: add $0x20,%esp
0xc02a6fac <genfs_putpages+980>: cmpl $0x0,0xffffff58(%ebp)
0xc02a6fb3 <genfs_putpages+987>: je 0xc02a7406 <genfs_putpages+2094>
0xc02a6fb9 <genfs_putpages+993>: mov 0xffffffdc(%ebp),%esi
0xc02a6fbc <genfs_putpages+996>: test %esi,%esi
0xc02a6fbe <genfs_putpages+998>: je 0xc02a6fc8 <genfs_putpages+1008>
0xc02a6fc0 <genfs_putpages+1000>: mov 0xffffffe0(%ebp),%eax
0xc02a6fc3 <genfs_putpages+1003>: mov %eax,0x14(%esi)
0xc02a6fc6 <genfs_putpages+1006>: jmp 0xc02a6fd1 <genfs_putpages+1017>
---Type <return> to continue, or q <return> to quit---
0xc02a6fc8 <genfs_putpages+1008>: mov 0xffffffe0(%ebp),%eax
0xc02a6fcb <genfs_putpages+1011>: mov 0xffffff8c(%ebp),%ecx
0xc02a6fce <genfs_putpages+1014>: mov %eax,0xc(%ecx)
0xc02a6fd1 <genfs_putpages+1017>: mov 0xffffffe0(%ebp),%edx
0xc02a6fd4 <genfs_putpages+1020>: mov 0xffffffdc(%ebp),%eax
0xc02a6fd7 <genfs_putpages+1023>: mov %eax,(%edx)
0xc02a6fd9 <genfs_putpages+1025>: jmp 0xc02a7425 <genfs_putpages+2125>
0xc02a6fde <genfs_putpages+1030>: mov %esi,%esi
0xc02a6fe0 <genfs_putpages+1032>: mov 0xffffff70(%ebp),%ecx
0xc02a6fe6 <genfs_putpages+1038>: mov %ecx,0xffffff44(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a6fec <genfs_putpages+1044>: andl $0x8,0xffffff44(%ebp)
0xc02a6ff3 <genfs_putpages+1051>: je 0xc02a7001 <genfs_putpages+1065>
0xc02a6ff5 <genfs_putpages+1053>: add $0xfffffff4,%esp
0xc02a6ff8 <genfs_putpages+1056>: push %esi
0xc02a6ff9 <genfs_putpages+1057>: call 0xc0310e30 <pmap_page_remove>
0xc02a6ffe <genfs_putpages+1062>: add $0x10,%esp
0xc02a7001 <genfs_putpages+1065>: cmpl $0x0,0xffffff48(%ebp)
0xc02a7008 <genfs_putpages+1072>: je 0xc02a704c <genfs_putpages+1140>
0xc02a700a <genfs_putpages+1074>: movl $0x0,0xffffff54(%ebp)
0xc02a7014 <genfs_putpages+1084>: add $0xfffffffc,%esp
---Type <return> to continue, or q <return> to quit---
0xc02a7017 <genfs_putpages+1087>: push $0x40
0xc02a7019 <genfs_putpages+1089>: push $0x0
0xc02a701b <genfs_putpages+1091>: push %esi
0xc02a701c <genfs_putpages+1092>: call 0xc0311248 <pmap_change_attrs>
0xc02a7021 <genfs_putpages+1097>: add $0x10,%esp
0xc02a7024 <genfs_putpages+1100>: test %eax,%eax
0xc02a7026 <genfs_putpages+1102>: jne 0xc02a7033 <genfs_putpages+1115>
0xc02a7028 <genfs_putpages+1104>: movzwl 0x28(%esi),%eax
0xc02a702c <genfs_putpages+1108>: mov %eax,%ebx
0xc02a702e <genfs_putpages+1110>: test $0x8,%bl
---Type <return> to continue, or q <return> to quit---
0xc02a7031 <genfs_putpages+1113>: jne 0xc02a7041 <genfs_putpages+1129>
0xc02a7033 <genfs_putpages+1115>: movl $0x1,0xffffff54(%ebp)
0xc02a703d <genfs_putpages+1125>: movzwl 0x28(%esi),%ebx
0xc02a7041 <genfs_putpages+1129>: or $0x8,%ebx
0xc02a7044 <genfs_putpages+1132>: mov %bx,0x28(%esi)
0xc02a7048 <genfs_putpages+1136>: jmp 0xc02a7056 <genfs_putpages+1150>
0xc02a704a <genfs_putpages+1138>: mov %esi,%esi
0xc02a704c <genfs_putpages+1140>: movl $0x0,0xffffff54(%ebp)
0xc02a7056 <genfs_putpages+1150>: cmpl $0x0,0xffffff54(%ebp)
0xc02a705d <genfs_putpages+1157>: je 0xc02a71f0 <genfs_putpages+1560>
---Type <return> to continue, or q <return> to quit---
0xc02a7063 <genfs_putpages+1163>: movl $0x0,0xffffff5c(%ebp)
0xc02a706d <genfs_putpages+1173>: add $0xfffffffc,%esp
0xc02a7070 <genfs_putpages+1176>: mov $0x200,%eax
0xc02a7075 <genfs_putpages+1181>: shr $0x3,%eax
0xc02a7078 <genfs_putpages+1184>: push %eax
0xc02a7079 <genfs_putpages+1185>: push $0x0
0xc02a707b <genfs_putpages+1187>: mov 0xffffff64(%ebp),%ebx
0xc02a7081 <genfs_putpages+1193>: push %ebx
0xc02a7082 <genfs_putpages+1194>: call 0xc0444fac <memset>
0xc02a7087 <genfs_putpages+1199>: orb $0x1,0x28(%esi)
---Type <return> to continue, or q <return> to quit---
0xc02a708b <genfs_putpages+1203>: mov 0xffffff74(%ebp),%eax
0xc02a7091 <genfs_putpages+1209>: mov 0xffffff78(%ebp),%edx
0xc02a7097 <genfs_putpages+1215>: shrd $0xc,%edx,%eax
0xc02a709b <genfs_putpages+1219>: sar $0xc,%edx
0xc02a709e <genfs_putpages+1222>: add $0x10,%esp
0xc02a70a1 <genfs_putpages+1225>: test %edx,%edx
0xc02a70a3 <genfs_putpages+1227>: jl 0xc02a70b1 <genfs_putpages+1241>
0xc02a70a5 <genfs_putpages+1229>: jne 0xc02a70ac <genfs_putpages+1236>
0xc02a70a7 <genfs_putpages+1231>: cmp $0x8,%eax
0xc02a70aa <genfs_putpages+1234>: jb 0xc02a70b1 <genfs_putpages+1241>
---Type <return> to continue, or q <return> to quit---
0xc02a70ac <genfs_putpages+1236>: mov $0x8,%eax
0xc02a70b1 <genfs_putpages+1241>: mov %eax,0xffffff90(%ebp)
0xc02a70b4 <genfs_putpages+1244>: mov %eax,0xffffff94(%ebp)
0xc02a70b7 <genfs_putpages+1247>: add $0xfffffff8,%esp
0xc02a70ba <genfs_putpages+1250>: push $0x33
0xc02a70bc <genfs_putpages+1252>: mov 0xffffff64(%ebp),%eax
0xc02a70c2 <genfs_putpages+1258>: push %eax
0xc02a70c3 <genfs_putpages+1259>: lea 0xffffff94(%ebp),%eax
0xc02a70c6 <genfs_putpages+1262>: push %eax
0xc02a70c7 <genfs_putpages+1263>: addl $0xfffff000,0xffffff74(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a70d1 <genfs_putpages+1273>: adcl $0xffffffff,0xffffff78(%ebp)
0xc02a70d8 <genfs_putpages+1280>: mov 0xffffff74(%ebp),%edx
0xc02a70de <genfs_putpages+1286>: mov 0xffffff78(%ebp),%ecx
0xc02a70e4 <genfs_putpages+1292>: push %ecx
0xc02a70e5 <genfs_putpages+1293>: push %edx
0xc02a70e6 <genfs_putpages+1294>: add $0x1000,%edx
0xc02a70ec <genfs_putpages+1300>: adc $0x0,%ecx
0xc02a70ef <genfs_putpages+1303>: mov %edx,0xffffff74(%ebp)
0xc02a70f5 <genfs_putpages+1309>: mov %ecx,0xffffff78(%ebp)
0xc02a70fb <genfs_putpages+1315>: mov 0xffffff8c(%ebp),%ecx
---Type <return> to continue, or q <return> to quit---
0xc02a70fe <genfs_putpages+1318>: push %ecx
0xc02a70ff <genfs_putpages+1319>: call 0xc03082fc <uvn_findpages>
0xc02a7104 <genfs_putpages+1324>: add $0x20,%esp
0xc02a7107 <genfs_putpages+1327>: mov 0xffffff94(%ebp),%eax
0xc02a710a <genfs_putpages+1330>: test %eax,%eax
0xc02a710c <genfs_putpages+1332>: je 0xc02a7175 <genfs_putpages+1437>
0xc02a710e <genfs_putpages+1334>: add $0xfffffffc,%esp
0xc02a7111 <genfs_putpages+1337>: shl $0x2,%eax
0xc02a7114 <genfs_putpages+1340>: push %eax
0xc02a7115 <genfs_putpages+1341>: mov 0xffffff90(%ebp),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a7118 <genfs_putpages+1344>: sub 0xffffff94(%ebp),%eax
0xc02a711b <genfs_putpages+1347>: mov 0xffffff64(%ebp),%ebx
0xc02a7121 <genfs_putpages+1353>: lea (%ebx,%eax,4),%eax
0xc02a7124 <genfs_putpages+1356>: push %eax
0xc02a7125 <genfs_putpages+1357>: push %ebx
0xc02a7126 <genfs_putpages+1358>: call 0xc0444fec <memmove>
0xc02a712b <genfs_putpages+1363>: mov 0xffffff94(%ebp),%eax
0xc02a712e <genfs_putpages+1366>: mov 0xffffff90(%ebp),%edx
0xc02a7131 <genfs_putpages+1369>: sub %eax,%edx
0xc02a7133 <genfs_putpages+1371>: add $0x10,%esp
---Type <return> to continue, or q <return> to quit---
0xc02a7136 <genfs_putpages+1374>: cmp %eax,%edx
0xc02a7138 <genfs_putpages+1376>: jge 0xc02a7154 <genfs_putpages+1404>
0xc02a713a <genfs_putpages+1378>: add $0xfffffffc,%esp
0xc02a713d <genfs_putpages+1381>: lea 0x0(,%edx,4),%eax
0xc02a7144 <genfs_putpages+1388>: push %eax
0xc02a7145 <genfs_putpages+1389>: push $0x0
0xc02a7147 <genfs_putpages+1391>: mov 0xffffff94(%ebp),%eax
0xc02a714a <genfs_putpages+1394>: shl $0x2,%eax
0xc02a714d <genfs_putpages+1397>: add %ebx,%eax
0xc02a714f <genfs_putpages+1399>: jmp 0xc02a716c <genfs_putpages+1428>
---Type <return> to continue, or q <return> to quit---
0xc02a7151 <genfs_putpages+1401>: lea 0x0(%esi),%esi
0xc02a7154 <genfs_putpages+1404>: add $0xfffffffc,%esp
0xc02a7157 <genfs_putpages+1407>: shl $0x2,%eax
0xc02a715a <genfs_putpages+1410>: push %eax
0xc02a715b <genfs_putpages+1411>: push $0x0
0xc02a715d <genfs_putpages+1413>: mov 0xffffff90(%ebp),%eax
0xc02a7160 <genfs_putpages+1416>: sub 0xffffff94(%ebp),%eax
0xc02a7163 <genfs_putpages+1419>: mov 0xffffff64(%ebp),%edx
0xc02a7169 <genfs_putpages+1425>: lea (%edx,%eax,4),%eax
0xc02a716c <genfs_putpages+1428>: push %eax
---Type <return> to continue, or q <return> to quit---
0xc02a716d <genfs_putpages+1429>: call 0xc0444fac <memset>
0xc02a7172 <genfs_putpages+1434>: add $0x10,%esp
0xc02a7175 <genfs_putpages+1437>: mov 0xffffff94(%ebp),%eax
0xc02a7178 <genfs_putpages+1440>: shl $0x2,%eax
0xc02a717b <genfs_putpages+1443>: mov 0xffffff64(%ebp),%ecx
0xc02a7181 <genfs_putpages+1449>: mov %esi,(%eax,%ecx,1)
0xc02a7184 <genfs_putpages+1452>: mov $0xf,%eax
0xc02a7189 <genfs_putpages+1457>: sub 0xffffff94(%ebp),%eax
0xc02a718c <genfs_putpages+1460>: mov %eax,0xffffff90(%ebp)
0xc02a718f <genfs_putpages+1463>: add $0xfffffff8,%esp
---Type <return> to continue, or q <return> to quit---
0xc02a7192 <genfs_putpages+1466>: push $0x13
0xc02a7194 <genfs_putpages+1468>: mov 0xffffff94(%ebp),%eax
0xc02a7197 <genfs_putpages+1471>: shl $0x2,%eax
0xc02a719a <genfs_putpages+1474>: lea 0x4(%ecx,%eax,1),%eax
0xc02a719e <genfs_putpages+1478>: push %eax
0xc02a719f <genfs_putpages+1479>: lea 0xffffff90(%ebp),%eax
0xc02a71a2 <genfs_putpages+1482>: push %eax
0xc02a71a3 <genfs_putpages+1483>: addl $0x1000,0xffffff74(%ebp)
0xc02a71ad <genfs_putpages+1493>: adcl $0x0,0xffffff78(%ebp)
0xc02a71b4 <genfs_putpages+1500>: mov 0xffffff74(%ebp),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a71ba <genfs_putpages+1506>: mov 0xffffff78(%ebp),%edx
0xc02a71c0 <genfs_putpages+1512>: push %edx
0xc02a71c1 <genfs_putpages+1513>: push %eax
0xc02a71c2 <genfs_putpages+1514>: add $0xfffff000,%eax
0xc02a71c7 <genfs_putpages+1519>: adc $0xffffffff,%edx
0xc02a71ca <genfs_putpages+1522>: mov %eax,0xffffff74(%ebp)
0xc02a71d0 <genfs_putpages+1528>: mov %edx,0xffffff78(%ebp)
0xc02a71d6 <genfs_putpages+1534>: mov 0xffffff8c(%ebp),%edx
0xc02a71d9 <genfs_putpages+1537>: push %edx
0xc02a71da <genfs_putpages+1538>: call 0xc03082fc <uvn_findpages>
---Type <return> to continue, or q <return> to quit---
0xc02a71df <genfs_putpages+1543>: mov 0xffffff90(%ebp),%eax
0xc02a71e2 <genfs_putpages+1546>: inc %eax
0xc02a71e3 <genfs_putpages+1547>: add 0xffffff94(%ebp),%eax
0xc02a71e6 <genfs_putpages+1550>: mov %eax,0xffffff90(%ebp)
0xc02a71e9 <genfs_putpages+1553>: add $0x20,%esp
0xc02a71ec <genfs_putpages+1556>: jmp 0xc02a7206 <genfs_putpages+1582>
0xc02a71ee <genfs_putpages+1558>: mov %esi,%esi
0xc02a71f0 <genfs_putpages+1560>: mov 0xffffff64(%ebp),%ecx
0xc02a71f6 <genfs_putpages+1566>: mov %esi,(%ecx)
0xc02a71f8 <genfs_putpages+1568>: movl $0x1,0xffffff90(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a71ff <genfs_putpages+1575>: movl $0x0,0xffffff94(%ebp)
0xc02a7206 <genfs_putpages+1582>: xor %edi,%edi
0xc02a7208 <genfs_putpages+1584>: cmp 0xffffff90(%ebp),%edi
0xc02a720b <genfs_putpages+1587>: jge 0xc02a72f3 <genfs_putpages+1819>
0xc02a7211 <genfs_putpages+1593>: lea 0x0(%esi),%esi
0xc02a7214 <genfs_putpages+1596>: mov 0xffffff64(%ebp),%eax
0xc02a721a <genfs_putpages+1602>: mov (%eax,%edi,4),%ebx
0xc02a721d <genfs_putpages+1605>: cmpl $0x0,0xffffff58(%ebp)
0xc02a7224 <genfs_putpages+1612>: je 0xc02a722d <genfs_putpages+1621>
0xc02a7226 <genfs_putpages+1614>: cmp 0x10(%esi),%ebx
---Type <return> to continue, or q <return> to quit---
0xc02a7229 <genfs_putpages+1617>: jne 0xc02a722d <genfs_putpages+1621>
0xc02a722b <genfs_putpages+1619>: mov %ebx,%esi
0xc02a722d <genfs_putpages+1621>: mov 0x24(%ebx),%eax
0xc02a7230 <genfs_putpages+1624>: cmp %eax,0xffffff88(%ebp)
0xc02a7233 <genfs_putpages+1627>: jg 0xc02a72e9 <genfs_putpages+1809>
0xc02a7239 <genfs_putpages+1633>: jne 0xc02a7247 <genfs_putpages+1647>
0xc02a723b <genfs_putpages+1635>: mov 0xffffff84(%ebp),%edx
0xc02a723e <genfs_putpages+1638>: cmp 0x20(%ebx),%edx
0xc02a7241 <genfs_putpages+1641>: ja 0xc02a72e9 <genfs_putpages+1809>
0xc02a7247 <genfs_putpages+1647>: cmp %eax,0xffffff80(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a724a <genfs_putpages+1650>: jg 0xc02a7261 <genfs_putpages+1673>
0xc02a724c <genfs_putpages+1652>: jne 0xc02a72e9 <genfs_putpages+1809>
0xc02a7252 <genfs_putpages+1658>: mov 0xffffff7c(%ebp),%ecx
0xc02a7258 <genfs_putpages+1664>: cmp 0x20(%ebx),%ecx
0xc02a725b <genfs_putpages+1667>: jbe 0xc02a72e9 <genfs_putpages+1809>
0xc02a7261 <genfs_putpages+1673>: testb $0x4,0xffffff70(%ebp)
0xc02a7268 <genfs_putpages+1680>: je 0xc02a7290 <genfs_putpages+1720>
0xc02a726a <genfs_putpages+1682>: testl $0x2ffff,0x2c(%ebx)
0xc02a7271 <genfs_putpages+1689>: jne 0xc02a7290 <genfs_putpages+1720>
0xc02a7273 <genfs_putpages+1691>: add $0xfffffffc,%esp
---Type <return> to continue, or q <return> to quit---
0xc02a7276 <genfs_putpages+1694>: push $0x20
0xc02a7278 <genfs_putpages+1696>: push $0x0
0xc02a727a <genfs_putpages+1698>: push %ebx
0xc02a727b <genfs_putpages+1699>: call 0xc0311248 <pmap_change_attrs>
0xc02a7280 <genfs_putpages+1704>: add $0xfffffff4,%esp
0xc02a7283 <genfs_putpages+1707>: push %ebx
0xc02a7284 <genfs_putpages+1708>: call 0xc0303d94 <uvm_pagedeactivate>
0xc02a7289 <genfs_putpages+1713>: add $0x20,%esp
0xc02a728c <genfs_putpages+1716>: jmp 0xc02a72e9 <genfs_putpages+1809>
0xc02a728e <genfs_putpages+1718>: mov %esi,%esi
---Type <return> to continue, or q <return> to quit---
0xc02a7290 <genfs_putpages+1720>: cmpl $0x0,0xffffff44(%ebp)
0xc02a7297 <genfs_putpages+1727>: je 0xc02a72e9 <genfs_putpages+1809>
0xc02a7299 <genfs_putpages+1729>: add $0xfffffff4,%esp
0xc02a729c <genfs_putpages+1732>: push %ebx
0xc02a729d <genfs_putpages+1733>: call 0xc0310e30 <pmap_page_remove>
0xc02a72a2 <genfs_putpages+1738>: add $0x10,%esp
0xc02a72a5 <genfs_putpages+1741>: movzwl 0x28(%ebx),%eax
0xc02a72a9 <genfs_putpages+1745>: test $0x1,%al
0xc02a72ab <genfs_putpages+1747>: je 0xc02a72d4 <genfs_putpages+1788>
0xc02a72ad <genfs_putpages+1749>: or 0xffffff68(%ebp),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a72b3 <genfs_putpages+1755>: mov %ax,0x28(%ebx)
0xc02a72b7 <genfs_putpages+1759>: cmpl $0x0,0xffffff4c(%ebp)
0xc02a72be <genfs_putpages+1766>: je 0xc02a72e9 <genfs_putpages+1809>
0xc02a72c0 <genfs_putpages+1768>: incl 0xc060749c
0xc02a72c6 <genfs_putpages+1774>: add $0xfffffff4,%esp
0xc02a72c9 <genfs_putpages+1777>: push %ebx
0xc02a72ca <genfs_putpages+1778>: call 0xc0303e40 <uvm_pagedequeue>
0xc02a72cf <genfs_putpages+1783>: jmp 0xc02a72e6 <genfs_putpages+1806>
0xc02a72d1 <genfs_putpages+1785>: lea 0x0(%esi),%esi
0xc02a72d4 <genfs_putpages+1788>: mov 0x10(%ebx),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a72d7 <genfs_putpages+1791>: mov %eax,0xffffff60(%ebp)
0xc02a72dd <genfs_putpages+1797>: add $0xfffffff4,%esp
0xc02a72e0 <genfs_putpages+1800>: push %ebx
0xc02a72e1 <genfs_putpages+1801>: call 0xc030514c <uvm_pagefree>
0xc02a72e6 <genfs_putpages+1806>: add $0x10,%esp
0xc02a72e9 <genfs_putpages+1809>: inc %edi
0xc02a72ea <genfs_putpages+1810>: cmp 0xffffff90(%ebp),%edi
0xc02a72ed <genfs_putpages+1813>: jl 0xc02a7214 <genfs_putpages+1596>
0xc02a72f3 <genfs_putpages+1819>: cmpl $0x0,0xffffff54(%ebp)
0xc02a72fa <genfs_putpages+1826>: je 0xc02a739f <genfs_putpages+1991>
---Type <return> to continue, or q <return> to quit---
0xc02a7300 <genfs_putpages+1832>: cmpl $0x0,0xffffff58(%ebp)
0xc02a7307 <genfs_putpages+1839>: je 0xc02a7331 <genfs_putpages+1881>
0xc02a7309 <genfs_putpages+1841>: mov 0x10(%esi),%eax
0xc02a730c <genfs_putpages+1844>: mov %eax,0xffffffdc(%ebp)
0xc02a730f <genfs_putpages+1847>: test %eax,%eax
0xc02a7311 <genfs_putpages+1849>: je 0xc02a731c <genfs_putpages+1860>
0xc02a7313 <genfs_putpages+1851>: lea 0xffffffdc(%ebp),%edx
0xc02a7316 <genfs_putpages+1854>: mov %edx,0x14(%eax)
0xc02a7319 <genfs_putpages+1857>: jmp 0xc02a7325 <genfs_putpages+1869>
0xc02a731b <genfs_putpages+1859>: nop
---Type <return> to continue, or q <return> to quit---
0xc02a731c <genfs_putpages+1860>: lea 0xffffffdc(%ebp),%ebx
0xc02a731f <genfs_putpages+1863>: mov 0xffffff8c(%ebp),%ecx
0xc02a7322 <genfs_putpages+1866>: mov %ebx,0xc(%ecx)
0xc02a7325 <genfs_putpages+1869>: lea 0xffffffcc(%ebp),%eax
0xc02a7328 <genfs_putpages+1872>: mov %eax,0x10(%esi)
0xc02a732b <genfs_putpages+1875>: lea 0x10(%esi),%edx
0xc02a732e <genfs_putpages+1878>: mov %edx,0xffffffe0(%ebp)
0xc02a7331 <genfs_putpages+1881>: mov 0xffffff8c(%ebp),%ecx
0xc02a7334 <genfs_putpages+1884>: mov 0x94(%ecx),%eax
0xc02a733a <genfs_putpages+1890>: mov (%eax),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a733c <genfs_putpages+1892>: mov 0xffffff70(%ebp),%ebx
0xc02a7342 <genfs_putpages+1898>: push %ebx
0xc02a7343 <genfs_putpages+1899>: pushl 0xffffff90(%ebp)
0xc02a7346 <genfs_putpages+1902>: mov 0xffffff64(%ebp),%edx
0xc02a734c <genfs_putpages+1908>: push %edx
0xc02a734d <genfs_putpages+1909>: push %ecx
0xc02a734e <genfs_putpages+1910>: mov 0x8(%eax),%eax
0xc02a7351 <genfs_putpages+1913>: call *%eax
0xc02a7353 <genfs_putpages+1915>: mov %eax,0xffffff6c(%ebp)
0xc02a7359 <genfs_putpages+1921>: add $0x10,%esp
---Type <return> to continue, or q <return> to quit---
0xc02a735c <genfs_putpages+1924>: cmpl $0x0,0xffffff58(%ebp)
0xc02a7363 <genfs_putpages+1931>: je 0xc02a7385 <genfs_putpages+1965>
0xc02a7365 <genfs_putpages+1933>: mov 0xffffffdc(%ebp),%esi
0xc02a7368 <genfs_putpages+1936>: test %esi,%esi
0xc02a736a <genfs_putpages+1938>: je 0xc02a7374 <genfs_putpages+1948>
0xc02a736c <genfs_putpages+1940>: mov 0xffffffe0(%ebp),%eax
0xc02a736f <genfs_putpages+1943>: mov %eax,0x14(%esi)
0xc02a7372 <genfs_putpages+1946>: jmp 0xc02a737d <genfs_putpages+1957>
0xc02a7374 <genfs_putpages+1948>: mov 0xffffffe0(%ebp),%eax
0xc02a7377 <genfs_putpages+1951>: mov 0xffffff8c(%ebp),%ecx
---Type <return> to continue, or q <return> to quit---
0xc02a737a <genfs_putpages+1954>: mov %eax,0xc(%ecx)
0xc02a737d <genfs_putpages+1957>: mov 0xffffffe0(%ebp),%edx
0xc02a7380 <genfs_putpages+1960>: mov 0xffffffdc(%ebp),%eax
0xc02a7383 <genfs_putpages+1963>: mov %eax,(%edx)
0xc02a7385 <genfs_putpages+1965>: cmpl $0x0,0xffffff6c(%ebp)
0xc02a738c <genfs_putpages+1972>: jne 0xc02a7463 <genfs_putpages+2187>
0xc02a7392 <genfs_putpages+1978>: cmpl $0x0,0xffffff58(%ebp)
0xc02a7399 <genfs_putpages+1985>: jne 0xc02a7458 <genfs_putpages+2176>
0xc02a739f <genfs_putpages+1991>: cmpl $0x0,0xffffff58(%ebp)
0xc02a73a6 <genfs_putpages+1998>: je 0xc02a73cc <genfs_putpages+2036>
---Type <return> to continue, or q <return> to quit---
0xc02a73a8 <genfs_putpages+2000>: cmpl $0x0,0xffffff60(%ebp)
0xc02a73af <genfs_putpages+2007>: je 0xc02a73c4 <genfs_putpages+2028>
0xc02a73b1 <genfs_putpages+2009>: mov 0xffffff60(%ebp),%esi
0xc02a73b7 <genfs_putpages+2015>: movl $0x0,0xffffff60(%ebp)
0xc02a73c1 <genfs_putpages+2025>: jmp 0xc02a7425 <genfs_putpages+2125>
0xc02a73c3 <genfs_putpages+2027>: nop
0xc02a73c4 <genfs_putpages+2028>: mov 0x10(%esi),%esi
0xc02a73c7 <genfs_putpages+2031>: jmp 0xc02a7425 <genfs_putpages+2125>
0xc02a73c9 <genfs_putpages+2033>: lea 0x0(%esi),%esi
0xc02a73cc <genfs_putpages+2036>: mov 0xffffff94(%ebp),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a73cf <genfs_putpages+2039>: mov 0xffffff90(%ebp),%ebx
0xc02a73d2 <genfs_putpages+2042>: sub %eax,%ebx
0xc02a73d4 <genfs_putpages+2044>: mov %ebx,%eax
0xc02a73d6 <genfs_putpages+2046>: shl $0xc,%eax
0xc02a73d9 <genfs_putpages+2049>: cltd
0xc02a73da <genfs_putpages+2050>: add %eax,0xffffff74(%ebp)
0xc02a73e0 <genfs_putpages+2056>: adc %edx,0xffffff78(%ebp)
0xc02a73e6 <genfs_putpages+2062>: mov 0xffffff78(%ebp),%eax
0xc02a73ec <genfs_putpages+2068>: cmp %eax,0xffffff80(%ebp)
0xc02a73ef <genfs_putpages+2071>: jg 0xc02a7406 <genfs_putpages+2094>
---Type <return> to continue, or q <return> to quit---
0xc02a73f1 <genfs_putpages+2073>: mov %eax,%edx
0xc02a73f3 <genfs_putpages+2075>: cmp %edx,0xffffff80(%ebp)
0xc02a73f6 <genfs_putpages+2078>: jne 0xc02a7425 <genfs_putpages+2125>
0xc02a73f8 <genfs_putpages+2080>: mov 0xffffff74(%ebp),%ecx
0xc02a73fe <genfs_putpages+2086>: cmp %ecx,0xffffff7c(%ebp)
0xc02a7404 <genfs_putpages+2092>: jbe 0xc02a7425 <genfs_putpages+2125>
0xc02a7406 <genfs_putpages+2094>: add $0xfffffffc,%esp
0xc02a7409 <genfs_putpages+2097>: mov 0xffffff74(%ebp),%eax
0xc02a740f <genfs_putpages+2103>: mov 0xffffff78(%ebp),%edx
0xc02a7415 <genfs_putpages+2109>: push %edx
---Type <return> to continue, or q <return> to quit---
0xc02a7416 <genfs_putpages+2110>: push %eax
0xc02a7417 <genfs_putpages+2111>: mov 0xffffff8c(%ebp),%edx
0xc02a741a <genfs_putpages+2114>: push %edx
0xc02a741b <genfs_putpages+2115>: call 0xc0303ce0 <uvm_pagelookup>
0xc02a7420 <genfs_putpages+2120>: mov %eax,%esi
0xc02a7422 <genfs_putpages+2122>: add $0x10,%esp
0xc02a7425 <genfs_putpages+2125>: cmpl $0x0,0xffffff58(%ebp)
0xc02a742c <genfs_putpages+2132>: jne 0xc02a7458 <genfs_putpages+2176>
0xc02a742e <genfs_putpages+2134>: mov 0xffffff78(%ebp),%ecx
0xc02a7434 <genfs_putpages+2140>: cmp %ecx,0xffffff80(%ebp)
---Type <return> to continue, or q <return> to quit---
0xc02a7437 <genfs_putpages+2143>: jg 0xc02a6ecc <genfs_putpages+756>
0xc02a743d <genfs_putpages+2149>: mov %ecx,%ebx
0xc02a743f <genfs_putpages+2151>: cmp %ebx,0xffffff80(%ebp)
0xc02a7442 <genfs_putpages+2154>: jne 0xc02a7463 <genfs_putpages+2187>
0xc02a7444 <genfs_putpages+2156>: mov 0xffffff74(%ebp),%eax
0xc02a744a <genfs_putpages+2162>: cmp %eax,0xffffff7c(%ebp)
0xc02a7450 <genfs_putpages+2168>: jbe 0xc02a7463 <genfs_putpages+2187>
0xc02a7452 <genfs_putpages+2170>: jmp 0xc02a6ecc <genfs_putpages+756>
0xc02a7457 <genfs_putpages+2175>: nop
0xc02a7458 <genfs_putpages+2176>: lea 0xffffff98(%ebp),%eax
---Type <return> to continue, or q <return> to quit---
0xc02a745b <genfs_putpages+2179>: cmp %eax,%esi
0xc02a745d <genfs_putpages+2181>: jne 0xc02a6e74 <genfs_putpages+668>
0xc02a7463 <genfs_putpages+2187>: cmpl $0x0,0xffffff58(%ebp)
0xc02a746a <genfs_putpages+2194>: je 0xc02a7498 <genfs_putpages+2240>
0xc02a746c <genfs_putpages+2196>: mov 0xffffffa8(%ebp),%edx
0xc02a746f <genfs_putpages+2199>: test %edx,%edx
0xc02a7471 <genfs_putpages+2201>: je 0xc02a747c <genfs_putpages+2212>
0xc02a7473 <genfs_putpages+2203>: mov 0xffffffac(%ebp),%eax
0xc02a7476 <genfs_putpages+2206>: mov %eax,0x14(%edx)
0xc02a7479 <genfs_putpages+2209>: jmp 0xc02a7485 <genfs_putpages+2221>
---Type <return> to continue, or q <return> to quit---
0xc02a747b <genfs_putpages+2211>: nop
0xc02a747c <genfs_putpages+2212>: mov 0xffffffac(%ebp),%eax
0xc02a747f <genfs_putpages+2215>: mov 0xffffff8c(%ebp),%edx
0xc02a7482 <genfs_putpages+2218>: mov %eax,0xc(%edx)
0xc02a7485 <genfs_putpages+2221>: mov 0xffffffac(%ebp),%eax
0xc02a7488 <genfs_putpages+2224>: mov 0xffffffa8(%ebp),%edx
0xc02a748b <genfs_putpages+2227>: mov %edx,(%eax)
0xc02a748d <genfs_putpages+2229>: mov 0xc05b5fe8,%eax
0xc02a7492 <genfs_putpages+2234>: decl 0xfc(%eax)
0xc02a7498 <genfs_putpages+2240>: mov 0xc0608fac,%ecx
---Type <return> to continue, or q <return> to quit---
0xc02a749e <genfs_putpages+2246>: mov %ecx,%eax
0xc02a74a0 <genfs_putpages+2248>: or 0xc0608ef8,%eax
0xc02a74a6 <genfs_putpages+2254>: mov %eax,0xc0608fac
0xc02a74ab <genfs_putpages+2259>: cmpl $0x0,0xffffff48(%ebp)
0xc02a74b2 <genfs_putpages+2266>: je 0xc02a750b <genfs_putpages+2355>
0xc02a74b4 <genfs_putpages+2268>: cmpl $0x0,0xffffff5c(%ebp)
0xc02a74bb <genfs_putpages+2275>: je 0xc02a750b <genfs_putpages+2355>
0xc02a74bd <genfs_putpages+2277>: mov 0xffffff84(%ebp),%eax
0xc02a74c0 <genfs_putpages+2280>: or 0xffffff88(%ebp),%eax
0xc02a74c3 <genfs_putpages+2283>: jne 0xc02a750b <genfs_putpages+2355>
---Type <return> to continue, or q <return> to quit---
0xc02a74c5 <genfs_putpages+2285>: cmpl $0xfffff000,0xffffff7c(%ebp)
0xc02a74cf <genfs_putpages+2295>: jne 0xc02a750b <genfs_putpages+2355>
0xc02a74d1 <genfs_putpages+2297>: cmpl $0x7fffffff,0xffffff80(%ebp)
0xc02a74d8 <genfs_putpages+2304>: jne 0xc02a750b <genfs_putpages+2355>
0xc02a74da <genfs_putpages+2306>: mov 0xffffff8c(%ebp),%ebx
0xc02a74dd <genfs_putpages+2309>: cmpl $0x0,0x50(%ebx)
0xc02a74e1 <genfs_putpages+2313>: jne 0xc02a750b <genfs_putpages+2355>
0xc02a74e3 <genfs_putpages+2315>: mov 0x20(%ebx),%eax
0xc02a74e6 <genfs_putpages+2318>: test $0x40,%ah
0xc02a74e9 <genfs_putpages+2321>: je 0xc02a750b <genfs_putpages+2355>
---Type <return> to continue, or q <return> to quit---
0xc02a74eb <genfs_putpages+2323>: and $0xbf,%ah
0xc02a74ee <genfs_putpages+2326>: mov %eax,0x20(%ebx)
0xc02a74f1 <genfs_putpages+2329>: mov 0x54(%ebx),%edx
0xc02a74f4 <genfs_putpages+2332>: test %edx,%edx
0xc02a74f6 <genfs_putpages+2334>: je 0xc02a7500 <genfs_putpages+2344>
0xc02a74f8 <genfs_putpages+2336>: mov 0x58(%ebx),%eax
0xc02a74fb <genfs_putpages+2339>: mov %eax,0x58(%edx)
0xc02a74fe <genfs_putpages+2342>: mov %esi,%esi
0xc02a7500 <genfs_putpages+2344>: mov 0xffffff8c(%ebp),%eax
0xc02a7503 <genfs_putpages+2347>: mov 0x58(%eax),%edx
---Type <return> to continue, or q <return> to quit---
0xc02a7506 <genfs_putpages+2350>: mov 0x54(%eax),%eax
0xc02a7509 <genfs_putpages+2353>: mov %eax,(%edx)
0xc02a750b <genfs_putpages+2355>: mov %ecx,0xc0608fac
0xc02a7511 <genfs_putpages+2361>: not %ecx
0xc02a7513 <genfs_putpages+2363>: mov 0xc0607ec4,%eax
0xc02a7518 <genfs_putpages+2368>: test %ecx,%eax
0xc02a751a <genfs_putpages+2370>: je 0xc02a7521 <genfs_putpages+2377>
0xc02a751c <genfs_putpages+2372>: call 0xc0101e08 <eintrnames>
0xc02a7521 <genfs_putpages+2377>: cmpl $0x0,0xffffff5c(%ebp)
0xc02a7528 <genfs_putpages+2384>: jne 0xc02a7596 <genfs_putpages+2494>
---Type <return> to continue, or q <return> to quit---
0xc02a752a <genfs_putpages+2386>: cmpl $0x0,0xffffff50(%ebp)
0xc02a7531 <genfs_putpages+2393>: jne 0xc02a7596 <genfs_putpages+2494>
0xc02a7533 <genfs_putpages+2395>: mov 0xc0608fac,%esi
0xc02a7539 <genfs_putpages+2401>: mov %esi,%eax
0xc02a753b <genfs_putpages+2403>: or 0xc0608ef8,%eax
0xc02a7541 <genfs_putpages+2409>: mov %eax,0xc0608fac
0xc02a7546 <genfs_putpages+2414>: mov 0xffffff8c(%ebp),%edx
0xc02a7549 <genfs_putpages+2417>: cmpl $0x0,0x24(%edx)
0xc02a754d <genfs_putpages+2421>: je 0xc02a7580 <genfs_putpages+2472>
0xc02a754f <genfs_putpages+2423>: mov %edx,%ebx
---Type <return> to continue, or q <return> to quit---
0xc02a7551 <genfs_putpages+2425>: add $0x24,%ebx
0xc02a7554 <genfs_putpages+2428>: mov 0xffffff8c(%ebp),%ecx
0xc02a7557 <genfs_putpages+2431>: orb $0x4,0x21(%ecx)
0xc02a755b <genfs_putpages+2435>: add $0xfffffff4,%esp
0xc02a755e <genfs_putpages+2438>: push %ecx
0xc02a755f <genfs_putpages+2439>: push $0x0
0xc02a7561 <genfs_putpages+2441>: push $0xc047bce6
0xc02a7566 <genfs_putpages+2446>: push $0x204
0xc02a756b <genfs_putpages+2451>: push %ebx
0xc02a756c <genfs_putpages+2452>: call 0xc027b780 <ltsleep>
---Type <return> to continue, or q <return> to quit---
0xc02a7571 <genfs_putpages+2457>: add $0x20,%esp
0xc02a7574 <genfs_putpages+2460>: mov 0xffffff8c(%ebp),%eax
0xc02a7577 <genfs_putpages+2463>: cmpl $0x0,0x24(%eax)
0xc02a757b <genfs_putpages+2467>: jne 0xc02a7554 <genfs_putpages+2428>
0xc02a757d <genfs_putpages+2469>: lea 0x0(%esi),%esi
0xc02a7580 <genfs_putpages+2472>: mov %esi,0xc0608fac
0xc02a7586 <genfs_putpages+2478>: not %esi
0xc02a7588 <genfs_putpages+2480>: mov 0xc0607ec4,%eax
0xc02a758d <genfs_putpages+2485>: test %esi,%eax
0xc02a758f <genfs_putpages+2487>: je 0xc02a7596 <genfs_putpages+2494>
---Type <return> to continue, or q <return> to quit---
0xc02a7591 <genfs_putpages+2489>: call 0xc0101e08 <eintrnames>
0xc02a7596 <genfs_putpages+2494>: mov 0xffffff6c(%ebp),%eax
0xc02a759c <genfs_putpages+2500>: lea 0xffffff28(%ebp),%esp
0xc02a75a2 <genfs_putpages+2506>: pop %ebx
0xc02a75a3 <genfs_putpages+2507>: pop %esi
0xc02a75a4 <genfs_putpages+2508>: pop %edi
0xc02a75a5 <genfs_putpages+2509>: leave
0xc02a75a6 <genfs_putpages+2510>: ret
0xc02a75a7 <genfs_putpages+2511>: nop
End of assembler dump.
(gdb) quit
On Mar 13, 11:20am, David Laight wrote:
} Subject: Re: Another serious bug in NetBSD-1.6.1
} > #1 0xc030cb4f in cpu_reboot ()
} > #2 0xc028375e in panic ()
}
} Should the locking be disabled after a panic in order to get the dump out?
} After all not much else should be running...
}
} > #3 0xc02752c1 in lockmgr ()
} > #4 0xc02a5a78 in genfs_lock ()
} > #5 0xc02a4b5a in VOP_LOCK ()
} > #6 0xc02a431d in vn_lock ()
} > #7 0xc029df7c in vget ()
} > #8 0xc0245733 in ffs_sync ()
} > #9 0xc02a0242 in sys_sync ()
} > #10 0xc029f262 in vfs_shutdown ()
} > #11 0xc030cb27 in cpu_reboot ()
} > #12 0xc028375e in panic ()
} > #13 0xc03134ce in trap ()
} > #14 0xc0100bf7 in calltrap ()
} > #15 0xc02a7021 in genfs_putpages ()
}
} Any chance of working out whereabouts in genfs_putpages 0xc02a7021 is?
}
} > #16 0xc0247471 in ffs_putpages ()
} > #17 0xc02a4fc9 in VOP_PUTPAGES ()
} > #18 0xc0247080 in ffs_full_fsync ()
} > #19 0xc0246df0 in ffs_fsync ()
} > #20 0xc02a481c in VOP_FSYNC ()
} > #21 0xc0245767 in ffs_sync ()
} > #22 0xc02a9b70 in sync_fsync ()
} > #23 0xc02a481c in VOP_FSYNC ()
} > #24 0xc02a98e9 in sched_sync ()
}
}
} David
}
} --
} David Laight: david@l8s.co.uk
>-- End of excerpt from David Laight