The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: "Jan Beulich" <jbeulich@novell.com>
To: "Chuck Ebbert" <76306.1226@compuserve.com>
Cc: "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com>,
	"Andrew Morton" <akpm@osdl.org>, "Dave Jones" <davej@redhat.com>,
	"Andi Kleen" <ak@suse.de>,
	"linux-kernel" <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.18-rc3-g3b445eea BUG: warning at  /usr/src/linux-git/kernel/cpu.c:51
Date: Tue, 08 Aug 2006 07:36:47 +0100	[thread overview]
Message-ID: <44D84D1F.76E4.0078.0@novell.com> (raw)
In-Reply-To: <200608072042_MC3-1-C764-3AF7@compuserve.com>

>>> Chuck Ebbert <76306.1226@compuserve.com> 08.08.06 02:39 >>>
>In-Reply-To: <44D7136E.76E4.0078.0@novell.com>
>
>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;

Hmm, indeed. Then I'm unclear what the problem might be here.

>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:

Clearly not. That is the way the user stack gets communicated to the kernel,
and it would cause problems at earliest in the next outer frame (which is in
user mode, so we don't care anyway). And I know I saw it unwind properly
through the sysenter code in other cases in the past.

>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.)

.cfi_register is the directive equivalent to DW_CFA_register, saying that
on register is spilled to another (rather than to memory) - see the Dwarf2
(or Dwarf3) specification for details.

Jan

  reply	other threads:[~2006-08-08  6:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-08  0:39 2.6.18-rc3-g3b445eea BUG: warning at /usr/src/linux-git/kernel/cpu.c:51 Chuck Ebbert
2006-08-08  6:36 ` Jan Beulich [this message]
2006-08-08  6:49   ` Andi Kleen
2006-08-08  7:00     ` Jan Beulich
  -- strict thread matches above, loose matches on Subject: below --
2006-08-17 20:03 Chuck Ebbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44D84D1F.76E4.0078.0@novell.com \
    --to=jbeulich@novell.com \
    --cc=76306.1226@compuserve.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox