King, Steven R
2006-Feb-16 05:58 UTC
[Xen-devel] bad type error in get_page_type() line 1525
Hello all, I''m getting the "Bad type" error in get_page_type() around line 1525. The situation is this: Linux domU driver creates a user-mode mapping to a shared-page, including calling create_lookup_pte_addr() which returns a ptep of 0xA69B0EDC. App in domU user-mode accesses the page without problem. When the app exits, the driver cleans up, then the OS cleans up the memory space previously owned by the process. In the course of doing this, the kernel hits a BUG(): kernel BUG at arch/i386/mm/pgtable-xen.c:511! invalid operand: 0000 [#1] SMP Modules linked in: CPU: 0 EIP: 0061:[<c0113520>] Not tainted VLI EFLAGS: 00010282 (2.6.14-xenU) EIP is at pgd_walk+0x160/0x170 eax: ffffffea ebx: cf25f000 ecx: a69b0063 edx: 00000000 esi: 00000000 edi: cf20eb7c ebp: cf23be90 esp: cf23be70 ds: 007b es: 007b ss: 0069 Process gan_microbench (pid: 482, threadinfo=cf23a000 task=cf9d8530) Stack: 00000000 00000000 000002df cf20eb7c cf20eb7c 001e41c0 cf20e000 cf4f4800 cf23bea8 c01135b4 cf20e000 00000063 cf4f4800 cf4f4840 cf23bebc c0113674 cf20e000 cf23becc c1000000 cf23bef8 c011374e cf4f4800 cf9d89dc 00000005 Call Trace: [<c010845f>] show_stack+0x7f/0xa0 [<c0108612>] show_registers+0x162/0x1d0 [<c0108824>] die+0xf4/0x180 [<c02adb85>] do_trap+0xb5/0xc0 [<c0108bec>] do_invalid_op+0xbc/0xd0 [<c0108127>] error_code+0x2b/0x30 [<c01135b4>] __pgd_unpin+0x34/0x50 [<c0113674>] mm_unpin+0x24/0x40 [<c011374e>] _arch_exit_mmap+0x6e/0x180 [<c0152db2>] exit_mmap+0x22/0x1a0 [<c011a8e6>] mmput+0x36/0x90 [<c011eeb5>] exit_mm+0xe5/0x100 [<c011f864>] do_exit+0xd4/0x3e0 [<c011fbec>] do_group_exit+0x3c/0xb0 [<c011fc75>] sys_exit_group+0x15/0x20 [<c0107f81>] syscall_call+0x7/0xb Code: 7f c1 e1 0c 09 d9 be 01 00 00 00 31 d2 8b 5d 08 e8 b6 0c ff ff 85 c0 75 08 83 c4 14 5b 5e 5f 5d c3 0f 0b 22 02 b0 6f 2c c0 eb ee <0f> 0b ff 01 b0 6f 2c c0 e9 63 ff ff ff 8d 76 00 55 89 e5 83 ec <1>Fixing recursive fault but reboot is needed! Xen reports: (XEN) DOM1: (file=mm.c, line=1531) Bad type (saw 32df0004 != exp e0000000) for m fn a69b0 (pfn f25f) (XEN) DOM1: (file=mm.c, line=478) Error getting mfn a69b0 (pfn f25f) from L1 ent ry a69b0063 for dom1 I notice that the offending mfn correlates to the ptep I got back from create_lookup_pte_addr(). I anybody can offer a clue as to what is going wrong, I''d much appreciate it! Thanks, -steve _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
King, Steven R
2006-Feb-16 21:03 UTC
RE: [Xen-devel] bad type error in get_page_type() line 1525
Nevermind. I accidentally deleted a put_page_type() call when destroying the pte mapping. -----Original Message----- From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of King, Steven R Sent: Wednesday, February 15, 2006 9:59 PM To: xen-devel Subject: [Xen-devel] bad type error in get_page_type() line 1525 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel