Skip to contentSkip to conversation

xc_ptrace.c fix

PATCH In review Kip Macy 2 participants 2 messages Jul 3, 2005

lore
Share & tools
lore

Kip Macy

author
#0 lore raw

PATCH 1/1 xc_ptrace.c fix

Could you please apply the following trivial patch (yes I know, gmail screws up whitespace). It fixes a crash in the gdbserver that can be hit when debugging linux.

tools/libxc/xc_ptrace.c Sun Jul 3 01:05:21 2005 renamed from tools/libxc/xc_ptrace.c Fri Jul 1 21:25:45 2005 +0 -0
@@ -200,7 +200,7 @@
                                             pde_phys[cpu] >>

PAGE_SHIFT)) == NULL)

            goto error_out;
     }
-    if ((page = pde_virt[cpu][vtopti(va)]) == 0) /* logical address */
+    if ((pde_virt[cpu] == NULL) || (page = pde_virt[cpu][vtopti(va)])
== 0) /* logical address */
        goto error_out;
     if (ctxt[cpu].flags & VGCF_VMX_GUEST)
         page = page_array[page >> PAGE_SHIFT] << PAGE_SHIFT;
#1 lore raw
Quoted 3 lines · Kip Macy

Could you please apply the following trivial patch (yes I know, gmail screws up whitespace). It fixes a crash in the gdbserver that can be hit when debugging linux.

But you set pde_virt immediately above the test that you are patching, if pde_phys[cpu] != pde.
And if mmap'ing pde_virt fails, you bail with an error. So how can you get pde_virt[cpu] == NULL at that point -- aren;t you just hiding the real bug?

-- Keir