|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: Bug: ptrace issues under x86_64 Xen kernel 2.6.29
Jeremy Fitzhardinge <jeremy <at> goop.org> writes:
> Bryan Donlan wrote:
> > Using 2.6.29 or 2.6.28 as a 64-bit Xen domU, a number of ptrace()
> > users seem to have issues with unexpected breakpoints. ltrace and gdb
> > both seem to be affected, under both 64-bit and 32-bit userspace.
> > 32-bit kernels do not seem to be affected. Typical symptoms look like:
> >
> It looks like this is because the kernel sets up int3 (breakpoint) and
> debug (watchpoints, etc) to be on a separate debug stack in the tss.
> Xen doesn't do this (and doesn't appear to have a mechanism to do so),
> so I guess the on-stack format isn't what the kernel expects. Does the
> patch below work?
It works for me. With the patch I can use ltrace, gdb and systemtap uprobes
support on the guest.
But during bootup I do see the newly introduced WARN_ON(val->ist != 0) being
triggered:
WARNING: at arch/x86/xen/enlighten.c:453 cvt_gate_to_trap+0x80/0xc0() (Not
tainted)
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.29.1-15.mjw.x86_64 #1
Call Trace:
[<ffffffff81048e84>] warn_slowpath+0xdb/0xfa
[<ffffffff8100e8a1>] ? __xen_spin_lock+0xae/0xc1
[<ffffffff8100e5d9>] ? xen_spin_unlock+0x11/0x2e
[<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20
[<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20
[<ffffffff81365246>] ? _spin_unlock_irqrestore+0x27/0x3e
[<ffffffff8104959d>] ? release_console_sem+0x1d4/0x1e0
[<ffffffff81049af9>] ? vprintk+0x313/0x326
[<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20
[<ffffffff81365246>] ? _spin_unlock_irqrestore+0x27/0x3e
[<ffffffff8100c4d5>] ? get_phys_to_machine+0x1a/0x31
[<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20
[<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b
[<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b
[<ffffffff81365890>] ? nmi+0x0/0x51
[<ffffffff8100aa86>] cvt_gate_to_trap+0x80/0xc0
[<ffffffff8100ab14>] xen_convert_trap_info+0x4e/0x7e
[<ffffffff8100b731>] xen_load_idt+0x47/0x71
[<ffffffff8135d8e3>] cpu_init+0xd6/0x331
[<ffffffff8100b4cc>] ? xen_write_idt_entry+0x41/0xa5
[<ffffffff8118679a>] ? generic_swap+0x0/0x1c
[<ffffffff8117f418>] ? cmp_ex+0x0/0x15
[<ffffffff815d2a08>] trap_init+0x1b5/0x1b7
[<ffffffff815cbc06>] start_kernel+0x1f1/0x3c8
[<ffffffff815cb2c3>] x86_64_start_reservations+0xae/0xb2
[<ffffffff815d1c6c>] xen_start_kernel+0x584/0x593
WARNING: at arch/x86/xen/enlighten.c:453 cvt_gate_to_trap+0x80/0xc0() (Tainted:
G W )
Modules linked in:
Pid: 1, comm: swapper Tainted: G W 2.6.29.1-15.mjw.x86_64 #1
Call Trace:
[<ffffffff81048e84>] warn_slowpath+0xdb/0xfa
[<ffffffff8109f2b9>] ? __rmqueue+0x26/0x154
[<ffffffff810abca3>] ? __inc_zone_state+0x50/0x5c
[<ffffffff8109ea7d>] ? page_count+0xd/0x1b
[<ffffffff810a0b50>] ? get_page_from_freelist+0x500/0x66d
[<ffffffff810a1417>] ? __alloc_pages_internal+0xa1/0x398
[<ffffffff810abca3>] ? __inc_zone_state+0x50/0x5c
[<ffffffff810ac574>] ? inc_zone_page_state+0x65/0x6f
[<ffffffff81365890>] ? nmi+0x0/0x51
[<ffffffff8100aa86>] cvt_gate_to_trap+0x80/0xc0
[<ffffffff8100ab14>] xen_convert_trap_info+0x4e/0x7e
[<ffffffff8100ab67>] xen_copy_trap_info+0x23/0x25
[<ffffffff8135b754>] xen_cpu_up+0x167/0x2dd
[<ffffffff81360eb8>] _cpu_up+0xa6/0x11c
[<ffffffff813637de>] ? _cond_resched+0x9/0x38
[<ffffffff81360fb3>] cpu_up+0x5a/0x6a
[<ffffffff815cb8ab>] kernel_init+0xbf/0x229
[<ffffffff8101264a>] child_rip+0xa/0x20
[<ffffffff81011f67>] ? restore_args+0x0/0x30
[<ffffffff8100c5cd>] ? xen_make_pmd+0x0/0xb
[<ffffffff8100c5cd>] ? xen_make_pmd+0x0/0xb
[<ffffffff81012640>] ? child_rip+0x0/0x20
WARNING: at arch/x86/xen/enlighten.c:453 cvt_gate_to_trap+0x80/0xc0() (Tainted:
G W )
Modules linked in:
Pid: 0, comm: swapper Tainted: G W 2.6.29.1-15.mjw.x86_64 #1
Call Trace:
[<ffffffff81048e84>] warn_slowpath+0xdb/0xfa
[<ffffffff8100e61c>] ? __spin_time_accum+0x1b/0x3a
[<ffffffff8100e8a1>] ? __xen_spin_lock+0xae/0xc1
[<ffffffff8100e5d9>] ? xen_spin_unlock+0x11/0x2e
[<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20
[<ffffffff81365246>] ? _spin_unlock_irqrestore+0x27/0x3e
[<ffffffff8100e5d9>] ? xen_spin_unlock+0x11/0x2e
[<ffffffff81049af9>] ? vprintk+0x313/0x326
[<ffffffff810a1417>] ? __alloc_pages_internal+0xa1/0x398
[<ffffffff8100c4d5>] ? get_phys_to_machine+0x1a/0x31
[<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20
[<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b
[<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b
[<ffffffff81365890>] ? nmi+0x0/0x51
[<ffffffff8100aa86>] cvt_gate_to_trap+0x80/0xc0
[<ffffffff8100ab14>] xen_convert_trap_info+0x4e/0x7e
[<ffffffff8100b731>] xen_load_idt+0x47/0x71
[<ffffffff8135d8e2>] cpu_init+0xd5/0x331
[<ffffffff8135b52e>] cpu_bringup+0xe/0x99
[<ffffffff8135b5e6>] cpu_bringup_and_idle+0x9/0x10
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Re: Bug: ptrace issues under x86_64 Xen kernel 2.6.29,
Mark Wielaard <=
|
|
|
|
|