[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#503821: Purpose of features/all/xen/workaround-pte-file.patch?



On Tue, Nov 04, 2008 at 09:49:19AM +0100, Bastian Blank wrote:
> On Tue, Nov 04, 2008 at 08:30:16AM +0000, Ian Campbell wrote:
> > However I assume the workaround is there for a specific purpose, what
> > was it?
> A crash in mprotect.

I took another look into the original crash.

| BUG: unable to handle kernel paging request at cefb81c0
| IP: [<c015ec88>] handle_mm_fault+0x4d6/0xe78
| *pdpt = 00000000a8072027 *pde = 00000000b62fd067 *pte = 80000000a8f19061
| Oops: 0003 [#1] SMP
| Modules linked in: ipv6 ext3 jbd mbcache thermal_sys
| 
| Pid: 1093, comm: test Not tainted (2.6.26-1-xen-686 #1)
| EIP: 0061:[<c015ec88>] EFLAGS: 00010282 CPU: 0
| EIP is at handle_mm_fault+0x4d6/0xe78
| EAX: aa1210e5 EBX: b7e38000 ECX: 80000000 EDX: 80000000
| ESI: 00000000 EDI: cefb81c0 EBP: c13c070c ESP: cfccdea8
|  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
| Process test (pid: 1093, ti=cfccc000 task=cfcb8da0 task.ti=cfccc000)
[...]
| Call Trace:
|  [<c0114947>] xen_tlb_flush_mask+0x28/0x39
|  [<c0162b8f>] mprotect_fixup+0x6d3/0x735
|  [<c010ee3e>] do_page_fault+0x684/0xbd6
|  [<c0162d6b>] sys_mprotect+0x17a/0x1df
|  [<c0162dbd>] sys_mprotect+0x1cc/0x1df
|  [<c010e7ba>] do_page_fault+0x0/0xbd6
|  [<c02ccbe5>] error_code+0x35/0x3c
|  =======================
[...]
| EIP: [<c015ec88>] handle_mm_fault+0x4d6/0xe78 SS:ESP 0069:cfccdea8
| ---[ end trace a379c90432c095a5 ]---

Why would Xen inject a page fault into a tlb flush? The tlb flushs in
the paravirt implementation looks completely different.

Bastian

-- 
Wait!  You have not been prepared!
		-- Mr. Atoz, "Tomorrow is Yesterday", stardate 3113.2



Reply to: