From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 21 Dec 2001 07:47:39 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 21 Dec 2001 07:47:33 -0500 Received: from mailrelay.netcologne.de ([194.8.194.96]:50372 "EHLO mailrelay.netcologne.de") by vger.kernel.org with ESMTP id ; Fri, 21 Dec 2001 07:47:15 -0500 Date: Fri, 21 Dec 2001 13:46:34 +0100 From: Wolfgang Weisselberg To: Karsten Keil , kkeil@suse.de, Kai Germaschewski , linux-kernel@vger.kernel.org Subject: Kernel Oops in [free_page_and_swap_cache+50/52] Message-ID: <20011221134634.A14357@tiger.bigcats.invalid> Mail-Followup-To: Wolfgang Weisselberg , Karsten Keil , kkeil@suse.de, Kai Germaschewski , linux-kernel@vger.kernel.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org I hope to have reached the correct addresses... :-/ This is a modified SuSE 7.0 box, with the 2.4.17-rc1 kernel + the following patches: LVM 1.0.1 (the L) linux-2.4.11-VFS-lock.patch (the V) and LVM_VFS_ENHANCEMENT enabled in drivers/md/lvm.c (the X) (which basically allows exploiting the usage of the linux-2.4.11-VFS-lock.patch to mount online snapshots of journalled file systems.) Current-Linux ls a softlink to the correct linux sources, set via uname during the boot process. The machine is a Dual-Celeron SMP machine on the ABIT BP-6 board. jpilot is a 'palm pilot' connection program (and more), a Handspring Visor (a palm-clone) was syncing via it's USB connection as the oops happened. The logfiles say that ISDN had disconnected almost exactly a minute before the oops, so it was offline. The kernel keeps chugging on, luckily. The oops: ------------------------------------------------------------ ksymoops 2.3.4 on i686 2.4.17-rc1-LVX. Options used -v /usr/src/Current-Linux/vmlinux (specified) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.17-rc1-LVX/ (default) -m /boot/System.map-2.4.17-rc1-LVX (default) Dec 21 12:45:49 tiger kernel: Unable to handle kernel paging request at virtual address 000b00c5 Dec 21 12:45:49 tiger kernel: d08b3ea7 Dec 21 12:45:49 tiger kernel: *pde = 00000000 Dec 21 12:45:49 tiger kernel: Oops: 0000 Dec 21 12:45:49 tiger kernel: CPU: 0 Dec 21 12:45:49 tiger kernel: EIP: 0010:[hisax:__insmod_hisax_O/lib/modules/2.4.17-rc1-LVX/kernel/drivers/+-803161/96] Not tainted Dec 21 12:45:49 tiger kernel: EFLAGS: 00010206 Dec 21 12:45:49 tiger kernel: eax: 000b0005 ebx: c210989c ecx: 00000286 edx: c4b3d36c Dec 21 12:45:49 tiger kernel: esi: c2da9e9c edi: c2109800 ebp: c21098fc esp: c88a9e94 Dec 21 12:45:49 tiger kernel: ds: 0018 es: 0018 ss: 0018 Dec 21 12:45:49 tiger kernel: Process jpilot (pid: 14343, stackpage=c88a9000) Dec 21 12:45:49 tiger kernel: Stack: d08d02f0 c4b3d36c c210989c c2109800 cdc3fc94 00000000 d08ca340 c210989c Dec 21 12:45:49 tiger kernel: cdc3fc94 c3c87000 c17bb824 c158cfa0 c0187270 c3c87000 cdc3fc94 cdc3fc94 Dec 21 12:45:49 tiger kernel: c17bb824 c158cfa0 cdcc58ec 00000001 c0247a68 00000202 00000000 00002329 Dec 21 12:45:49 tiger kernel: Call Trace: [hisax:__insmod_hisax_O/lib/modules/2.4.17-rc1-LVX/kernel/drivers/+-687376/96] [hisax:__insmod_hisax_O/lib/modules/2.4.17-rc1-LVX/kernel/drivers/+-711872/96] [release_dev+576/1340] [page_cache_release+45/48] [free_page_and_swap_cache+50/52] Dec 21 12:45:49 tiger kernel: Code: 8b 80 c0 00 00 00 85 c0 74 11 8b 40 18 85 c0 74 0a 52 8b 40 Using defaults from ksymoops -t elf32-i386 -a i386 Code; 00000000 Before first symbol 00000000 <_EIP>: Code; 00000000 Before first symbol 0: 8b 80 c0 00 00 00 mov 0xc0(%eax),%eax Code; 00000006 Before first symbol 6: 85 c0 test %eax,%eax Code; 00000008 Before first symbol 8: 74 11 je 1b <_EIP+0x1b> 0000001b Before first symbol Code; 0000000a Before first symbol a: 8b 40 18 mov 0x18(%eax),%eax Code; 0000000d Before first symbol d: 85 c0 test %eax,%eax Code; 0000000f Before first symbol f: 74 0a je 1b <_EIP+0x1b> 0000001b Before first symbol Code; 00000011 Before first symbol 11: 52 push %edx Code; 00000012 Before first symbol 12: 8b 40 00 mov 0x0(%eax),%eax ------------------------------------------------------------ Disassembling as per Documentation/oops-tracing.txt: ------------------------------------------------------------ tiger:~ # gdb /usr/src/Current-Linux/vmlinux (gdb) disassemble free_page_and_swap_cache+50/52 Dump of assembler code for function free_page_and_swap_cache: 0xc0137a10 : push %ebx 0xc0137a11 : mov 0x8(%esp,1),%ebx 0xc0137a15 : cmpl $0xc0247920,0x8(%ebx) 0xc0137a1c : jne 0xc0137a3b 0xc0137a1e : xor %eax,%eax 0xc0137a20 : lock bts %eax,0x18(%ebx) 0xc0137a25 : sbb %eax,%eax 0xc0137a27 : test %eax,%eax 0xc0137a29 : jne 0xc0137a3b 0xc0137a2b : push %ebx 0xc0137a2c : call 0xc0138194 0xc0137a31 : mov %ebx,%eax 0xc0137a33 : call 0xc012cfd4 0xc0137a38 : add $0x4,%esp 0xc0137a3b : mov %ebx,%eax 0xc0137a3d : call 0xc01374dc 0xc0137a42 : pop %ebx 0xc0137a43 : ret End of assembler dump. (gdb) disassemble page_cache_release+45/48 Dump of assembler code for function page_cache_release: 0xc01374dc : push %ebx 0xc01374dd : mov %eax,%ebx 0xc01374df : mov 0x18(%ebx),%eax 0xc01374e2 : test $0x40,%ah 0xc01374e5 : jne 0xc0137509 0xc01374e7 : lock decl 0x14(%ebx) 0xc01374eb : sete %al 0xc01374ee : test %al,%al 0xc01374f0 : je 0xc0137509 0xc01374f2 : mov 0x18(%ebx),%eax 0xc01374f5 : test $0x40,%al 0xc01374f7 : je 0xc0137500 0xc01374f9 : mov %ebx,%eax 0xc01374fb : call 0xc01355d4 0xc0137500 : xor %edx,%edx 0xc0137502 : mov %ebx,%eax 0xc0137504 : call 0xc0136a80 <__free_pages_ok> 0xc0137509 : pop %ebx 0xc013750a : ret 0xc013750b : nop End of assembler dump. (gdb) disassemble release_dev+576/1340 Dump of assembler code for function release_dev: 0xc0187030 : sub $0x50,%esp 0xc0187033 : push %ebp 0xc0187034 : push %edi 0xc0187035 : push %esi 0xc0187036 : push %ebx 0xc0187037 : mov 0x64(%esp,1),%eax 0xc018703b : mov 0x5c(%eax),%ebx 0xc018703e : mov 0x8(%eax),%eax 0xc0187041 : mov 0x8(%eax),%eax 0xc0187044 : movzwl 0x40(%eax),%eax 0xc0187048 : test %ebx,%ebx 0xc018704a : jne 0xc0187065 0xc018704c : push $0xc0225dd2 0xc0187051 : movzwl %ax,%eax 0xc0187054 : push %eax 0xc0187055 : call 0xc013f14c 0xc018705a : add $0x4,%esp 0xc018705d : push %eax 0xc018705e : push $0xc0225c40 0xc0187063 : jmp 0xc0187084 0xc0187065 : cmpl $0x5401,(%ebx) 0xc018706b : je 0xc0187093 0xc018706d : push $0xc0225dd2 0xc0187072 : movzwl %ax,%eax 0xc0187075 : push %eax 0xc0187076 : call 0xc013f14c 0xc018707b : add $0x4,%esp 0xc018707e : push %eax 0xc018707f : push $0xc0225c00 0xc0187084 : call 0xc0118e10 0xc0187089 : mov $0x1,%eax 0xc018708e : add $0xc,%esp 0xc0187091 : jmp 0xc0187095 0xc0187093 : xor %eax,%eax 0xc0187095 : test %eax,%eax 0xc0187097 : jne 0xc0187562 0xc018709d : push $0xc0225dd2 0xc01870a2 : push %ebx 0xc01870a3 : call 0xc0185b78 0xc01870a8 : push $0x0 0xc01870aa : mov 0x70(%esp,1),%edx 0xc01870ae : push %edx 0xc01870af : push $0xffffffff 0xc01870b1 : call 0xc0187ae0 0xc01870b6 : movzbl 0x110(%ebx),%ecx 0xc01870bd : mov %ecx,0x24(%esp,1) 0xc01870c1 : movswl 0x16(%ebx),%eax 0xc01870c5 : sub %eax,0x24(%esp,1) 0xc01870c9 : movl $0x0,0x30(%esp,1) 0xc01870d1 : add $0x14,%esp 0xc01870d4 : cmpw $0x4,0x1a(%ebx) 0xc01870d9 : jne 0xc01870ee 0xc01870db : mov $0x1,%eax 0xc01870e0 : cmpw $0x1,0x1c(%ebx) 0xc01870e5 : cmovne 0x1c(%esp,1),%eax 0xc01870ea : mov %eax,0x1c(%esp,1) 0xc01870ee : mov 0x128(%ebx),%ebp 0xc01870f4 : cmpl $0x0,0x10(%esp,1) 0xc01870f9 : jl 0xc0187105 0xc01870fb : movswl 0x18(%ebx),%eax 0xc01870ff : cmp %eax,0x10(%esp,1) 0xc0187103 : jl 0xc0187125 0xc0187105 : movzwl 0x110(%ebx),%eax 0xc018710c : push %eax 0xc018710d : call 0xc013f14c 0xc0187112 : push %eax 0xc0187113 : push $0xc0225de0 0xc0187118 : call 0xc0118e10 0xc018711d : add $0xc,%esp 0xc0187120 : jmp 0xc0187562 0xc0187125 : mov 0x54(%ebx),%eax 0xc0187128 : mov 0x10(%esp,1),%edx 0xc018712c : cmp (%eax,%edx,4),%ebx 0xc018712f : je 0xc0187150 0xc0187131 : movzwl 0x110(%ebx),%eax 0xc0187138 : push %eax 0xc0187139 : call 0xc013f14c 0xc018713e : push %eax 0xc018713f : mov 0x18(%esp,1),%ecx 0xc0187143 : push %ecx 0xc0187144 : push $0xc0225e20 0xc0187149 : jmp 0xc018723a 0xc018714e : mov %esi,%esi 0xc0187150 : mov 0x58(%ebx),%eax 0xc0187153 : mov 0x10(%esp,1),%edx 0xc0187157 : mov (%eax,%edx,4),%eax 0xc018715a : cmp %eax,0x100(%ebx) 0xc0187160 : je 0xc0187180 0xc0187162 : movzwl 0x110(%ebx),%eax 0xc0187169 : push %eax 0xc018716a : call 0xc013f14c 0xc018716f : push %eax 0xc0187170 : mov 0x18(%esp,1),%ecx 0xc0187174 : push %ecx 0xc0187175 : push $0xc0225e60 0xc018717a : jmp 0xc018723a 0xc018717f : nop 0xc0187180 : mov 0x5c(%ebx),%eax 0xc0187183 : mov 0x10(%esp,1),%edx 0xc0187187 : mov (%eax,%edx,4),%eax 0xc018718a : cmp %eax,0x104(%ebx) 0xc0187190 : je 0xc01871b0 0xc0187192 : movzwl 0x110(%ebx),%eax 0xc0187199 : push %eax 0xc018719a : call 0xc013f14c 0xc018719f : push %eax 0xc01871a0 : mov 0x18(%esp,1),%ecx 0xc01871a4 : push %ecx 0xc01871a5 : push $0xc0225ea0 0xc01871aa : jmp 0xc018723a 0xc01871af : nop 0xc01871b0 : mov 0x50(%ebx),%edx 0xc01871b3 : test %edx,%edx 0xc01871b5 : je 0xc0187261 0xc01871bb : mov 0x50(%edx),%eax 0xc01871be : mov 0x10(%esp,1),%ecx 0xc01871c2 : cmp (%eax,%ecx,4),%ebp 0xc01871c5 : je 0xc01871e1 0xc01871c7 : movzwl 0x110(%ebx),%eax 0xc01871ce : push %eax 0xc01871cf : call 0xc013f14c 0xc01871d4 : push %eax 0xc01871d5 : mov 0x18(%esp,1),%eax 0xc01871d9 : push %eax 0xc01871da : push $0xc0225f00 0xc01871df : jmp 0xc018723a 0xc01871e1 : mov 0x54(%edx),%eax 0xc01871e4 : mov 0x10(%esp,1),%ecx 0xc01871e8 : mov (%eax,%ecx,4),%eax 0xc01871eb : cmp %eax,0x100(%ebp) 0xc01871f1 : je 0xc0187210 0xc01871f3 : movzwl 0x110(%ebx),%eax 0xc01871fa : push %eax 0xc01871fb : call 0xc013f14c 0xc0187200 : push %eax 0xc0187201 : mov 0x18(%esp,1),%eax 0xc0187205 : push %eax 0xc0187206 : push $0xc0225f40 0xc018720b : jmp 0xc018723a 0xc018720d : lea 0x0(%esi),%esi 0xc0187210 : mov 0x58(%edx),%eax 0xc0187213 : mov 0x10(%esp,1),%edx 0xc0187217 : mov (%eax,%edx,4),%eax 0xc018721a : cmp %eax,0x104(%ebp) 0xc0187220 : je 0xc0187247 0xc0187222 : movzwl 0x110(%ebx),%eax 0xc0187229 : push %eax 0xc018722a : call 0xc013f14c 0xc018722f : push %eax 0xc0187230 : mov 0x18(%esp,1),%ecx 0xc0187234 : push %ecx 0xc0187235 : push $0xc0225f80 0xc018723a : call 0xc0118e10 0xc018723f : add $0x10,%esp 0xc0187242 : jmp 0xc0187562 0xc0187247 : cmp %ebx,0x128(%ebp) 0xc018724d : je 0xc0187261 0xc018724f : push $0xc0225fe0 0xc0187254 : call 0xc0118e10 0xc0187259 : add $0x4,%esp 0xc018725c : jmp 0xc0187562 0xc0187261 : mov 0x68(%ebx),%eax 0xc0187264 : test %eax,%eax 0xc0187266 : je 0xc0187273 0xc0187268 : mov 0x64(%esp,1),%edx 0xc018726c : push %edx 0xc018726d : push %ebx 0xc018726e : call *%eax 0xc0187270 : add $0x8,%esp 0xc0187273 : cmpl $0x1,0x118(%ebx) 0xc018727a : setle %al 0xc018727d : movzbl %al,%eax 0xc0187280 : mov %eax,0x18(%esp,1) 0xc0187284 : movl $0x0,0x14(%esp,1) 0xc018728c : test %ebp,%ebp 0xc018728e : je 0xc01872ab 0xc0187290 : mov 0x1c(%esp,1),%al 0xc0187294 : movzbl %al,%edx 0xc0187297 : mov $0x1,%eax 0xc018729c : cmp %edx,0x118(%ebp) 0xc01872a2 : cmovg 0x14(%esp,1),%eax 0xc01872a7 : mov %eax,0x14(%esp,1) 0xc01872ab : xor %edi,%edi 0xc01872ad : cmpl $0x0,0x18(%esp,1) 0xc01872b2 : je 0xc01872fe 0xc01872b4 : lea 0x988(%ebx),%esi 0xc01872ba : lea 0x8(%esi),%eax 0xc01872bd : cmp %eax,0x990(%ebx) 0xc01872c3 : je 0xc01872db 0xc01872c5 : mov $0x1,%ecx 0xc01872ca : mov $0x3,%edx 0xc01872cf : mov %esi,%eax 0xc01872d1 : call 0xc0114d8c <__wake_up> 0xc01872d6 : mov $0x1,%edi 0xc01872db : lea 0x978(%ebx),%esi 0xc01872e1 : lea 0x8(%esi),%eax 0xc01872e4 : cmp %eax,0x980(%ebx) 0xc01872ea : je 0xc01872fe 0xc01872ec : mov $0x1,%ecx 0xc01872f1 : mov $0x3,%edx 0xc01872f6 : mov %esi,%eax 0xc01872f8 : call 0xc0114d8c <__wake_up> 0xc01872fd : inc %edi 0xc01872fe : cmpl $0x0,0x14(%esp,1) 0xc0187303 : je 0xc018734b 0xc0187305 : lea 0x988(%ebp),%esi 0xc018730b : lea 0x8(%esi),%eax 0xc018730e : cmp %eax,0x990(%ebp) 0xc0187314 : je 0xc0187328 0xc0187316 : mov $0x1,%ecx 0xc018731b : mov $0x3,%edx 0xc0187320 : mov %esi,%eax 0xc0187322 : call 0xc0114d8c <__wake_up> 0xc0187327 : inc %edi 0xc0187328 : lea 0x978(%ebp),%esi 0xc018732e : lea 0x8(%esi),%eax 0xc0187331 : cmp %eax,0x980(%ebp) 0xc0187337 : je 0xc018734b 0xc0187339 : mov $0x1,%ecx 0xc018733e : mov $0x3,%edx 0xc0187343 : mov %esi,%eax 0xc0187345 : call 0xc0114d8c <__wake_up> 0xc018734a : inc %edi 0xc018734b : test %edi,%edi 0xc018734d : je 0xc0187372 0xc018734f : lea 0x20(%esp,1),%eax 0xc0187353 : push %eax 0xc0187354 : push %ebx 0xc0187355 : call 0xc0185b58 0xc018735a : push %eax 0xc018735b : push $0xc0226020 0xc0187360 : call 0xc0118e10 0xc0187365 : call 0xc01145ac 0xc018736a : add $0x10,%esp 0xc018736d : jmp 0xc0187273 0xc0187372 : cmpl $0x0,0x1c(%esp,1) 0xc0187377 : je 0xc01873b8 0xc0187379 : mov 0x118(%ebp),%eax 0xc018737f : lea 0xffffffff(%eax),%ecx 0xc0187382 : mov %ecx,0x118(%ebp) 0xc0187388 : mov %ecx,%eax 0xc018738a : test %eax,%eax 0xc018738c : jge 0xc01873b8 0xc018738e : lea 0x20(%esp,1),%eax 0xc0187392 : push %eax 0xc0187393 : push %ebp 0xc0187394 : call 0xc0185b58 0xc0187399 : push %eax 0xc018739a : mov 0x118(%ebp),%eax 0xc01873a0 : push %eax 0xc01873a1 : push $0xc0226060 0xc01873a6 : call 0xc0118e10 0xc01873ab : movl $0x0,0x118(%ebp) 0xc01873b5 : add $0x14,%esp 0xc01873b8 : mov 0x118(%ebx),%eax 0xc01873be : lea 0xffffffff(%eax),%edx 0xc01873c1 : mov %edx,0x118(%ebx) 0xc01873c7 : mov %edx,%eax 0xc01873c9 : test %eax,%eax 0xc01873cb : jge 0xc01873f7 0xc01873cd : lea 0x20(%esp,1),%eax 0xc01873d1 : push %eax 0xc01873d2 : push %ebx 0xc01873d3 : call 0xc0185b58 0xc01873d8 : push %eax 0xc01873d9 : mov 0x118(%ebx),%eax 0xc01873df : push %eax 0xc01873e0 : push $0xc02260a0 0xc01873e5 : call 0xc0118e10 0xc01873ea : movl $0x0,0x118(%ebx) 0xc01873f4 : add $0x14,%esp 0xc01873f7 : mov 0x64(%esp,1),%ecx 0xc01873fb : movl $0x0,0x5c(%ecx) 0xc0187402 : cmpl $0x0,0x18(%esp,1) 0xc0187407 : je 0xc0187416 0xc0187409 : mov $0x7,%eax 0xc018740e : lock bts %eax,0x114(%ebx) 0xc0187416 : cmpl $0x0,0x14(%esp,1) 0xc018741b : je 0xc018742a 0xc018741d : mov $0x7,%eax 0xc0187422 : lock bts %eax,0x114(%ebp) 0xc018742a : cmpl $0x0,0x18(%esp,1) 0xc018742f : jne 0xc018743c 0xc0187431 : cmpl $0x0,0x14(%esp,1) 0xc0187436 : je 0xc01874c8 0xc018743c : mov $0xc02908c0,%esi 0xc0187441 : cmpl $0xdeaf1eed,0xc02908c4 0xc018744b : je 0xc0187461 0xc018744d : push $0xba 0xc0187452 : push $0xc0225a80 0xc0187457 : call 0xc0113608 0xc018745c : ud2a 0xc018745e : add $0x8,%esp 0xc0187461 : mov %esi,%eax 0xc0187463 : lock subl $0x1,(%eax) 0xc0187467 : js 0xc02044de 0xc018746d : mov 0xc0254048,%eax 0xc0187472 : cmp $0xc0254000,%eax 0xc0187477 : je 0xc01874a6 0xc0187479 : lea 0x0(%esi,1),%esi 0xc0187480 : mov 0x358(%eax),%edx 0xc0187486 : cmp %ebx,%edx 0xc0187488 : je 0xc0187492 0xc018748a : test %ebp,%ebp 0xc018748c : je 0xc018749c 0xc018748e : cmp %ebp,%edx 0xc0187490 : jne 0xc018749c 0xc0187492 : movl $0x0,0x358(%eax) 0xc018749c : mov 0x48(%eax),%eax 0xc018749f : cmp $0xc0254000,%eax 0xc01874a4 : jne 0xc0187480 0xc01874a6 : lock incl 0xc02908c0 0xc01874ad : mov 0xc02bc5c4,%eax 0xc01874b2 : cmp %ebx,%eax 0xc01874b4 : je 0xc01874be 0xc01874b6 : test %ebp,%ebp 0xc01874b8 : je 0xc01874c8 0xc01874ba : cmp %ebp,%eax 0xc01874bc : jne 0xc01874c8 0xc01874be : movl $0x0,0xc02bc5c4 0xc01874c8 : cmpl $0x0,0x18(%esp,1) 0xc01874cd : je 0xc0187562 0xc01874d3 : test %ebp,%ebp 0xc01874d5 : je 0xc01874e2 0xc01874d7 : cmpl $0x0,0x14(%esp,1) 0xc01874dc : je 0xc0187562 0xc01874e2 : mov 0xd4(%ebx),%eax 0xc01874e8 : test %eax,%eax 0xc01874ea : je 0xc01874f2 0xc01874ec : push %ebx 0xc01874ed : call *%eax 0xc01874ef : add $0x4,%esp 0xc01874f2 : lea 0xc0(%ebx),%edi 0xc01874f8 : mov $0xc02bc5e0,%esi 0xc01874fd : cld 0xc01874fe : mov $0x10,%ecx 0xc0187503 : repz movsl %ds:(%esi),%es:(%edi) 0xc0187505 : mov 0x100(%ebx),%eax 0xc018750b : movb $0x0,0x10(%eax) 0xc018750f : test %ebp,%ebp 0xc0187511 : je 0xc0187536 0xc0187513 : mov 0xd4(%ebp),%eax 0xc0187519 : test %eax,%eax 0xc018751b : je 0xc0187523 0xc018751d : push %ebp 0xc018751e : call *%eax 0xc0187520 : add $0x4,%esp 0xc0187523 : lea 0xc0(%ebp),%edi 0xc0187529 : mov $0xc02bc5e0,%esi 0xc018752e : cld 0xc018752f : mov $0x10,%ecx 0xc0187534 : repz movsl %ds:(%esi),%es:(%edi) 0xc0187536 : cmpl $0xc0247410,0xc0247410 0xc0187540 : je 0xc018754f 0xc0187542 : push $0xc0247410 0xc0187547 : call 0xc011e304 <__run_task_queue> 0xc018754c : add $0x4,%esp 0xc018754f : call 0xc012778c 0xc0187554 : mov 0x10(%esp,1),%eax 0xc0187558 : push %eax 0xc0187559 : push %ebx 0xc018755a : call 0xc0186f80 0xc018755f : add $0x8,%esp 0xc0187562 : pop %ebx 0xc0187563 : pop %esi 0xc0187564 : pop %edi 0xc0187565 : pop %ebp 0xc0187566 : add $0x50,%esp 0xc0187569 : ret 0xc018756a : mov %esi,%esi End of assembler dump. ------------------------------------------------------------ -Wolfgang PS: Yes, the email address is replyable and is being read :-)