Re: 2.6.18-rc3-g3b445eea BUG: warning at /usr/src/linux-git/kernel/cpu.c:51

From: Chuck Ebbert
Date: Mon Aug 07 2006 - 20:43:20 EST


In-Reply-To: <44D7136E.76E4.0078.0@xxxxxxxxxx>

On Mon, 07 Aug 2006 09:18:22 +0100, Jan Beulich wrote:

> >Most likely the CFI annotation for that sysenter path is not complete.
>
> Correct, the return point of sysexit (SYSENTER_RETURN) is still in kernel space,
> but its annotations are invisible to the unwinder. We should make the VDSO be
> treated as user-mode code despite living above PAGE_OFFSET.

Umm, that's already been done?

include/asm-i386/unwind.h::arch_unw_user_mode():
return info->regs.eip < PAGE_OFFSET
|| (info->regs.eip >= __fix_to_virt(FIX_VDSO)
&& info->regs.eip < __fix_to_virt(FIX_VDSO) + PAGE_SIZE)
|| info->regs.esp < PAGE_OFFSET;


Could this be the problem?

|ENTRY(sysenter_entry)
| CFI_STARTPROC simple
| CFI_DEF_CFA esp, 0
|==> CFI_REGISTER esp, ebp
| movl TSS_sysenter_esp0(%esp),%esp
|sysenter_past_esp:

What does that do? .cfi_register is not documented anywhere, not
even in the gnu.org online documentation for gas. (I spent 10
minutes googling and found nothing other than the changeset that
added it to gas.)

--
Chuck

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/