kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: "Valdis Klētnieks" <valdis.kletnieks@vt.edu>
To: 孙世龙 <sunshilong369@gmail.com>
Cc: Kernelnewbies@kernelnewbies.org
Subject: Re: There is a question mark in front of the function name in the call trace log.What does the question mark imply?
Date: Fri, 19 Jun 2020 03:58:09 -0400	[thread overview]
Message-ID: <468303.1592553489@turing-police> (raw)
In-Reply-To: <CAAvDm6Z87Sq_19MbD=4210EFsx7Qk_SHk0AiRa6dGx2bpKT5Jw@mail.gmail.com>


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1: Type: text/plain; charset=us-ascii, Size: 1548 bytes --]

On Fri, 19 Jun 2020 13:29:09 +0800, 孙世龙 said:

> I have never seen such a call trace log before: there is a question
> mark(i.e. symbol of "?")  in front of the function name. What does the
> question mark imply?
>
> Here is the related log:
>
> [22041.387697] Call Trace
> [22041.387711] dump_stack+0x9e/0xc8
> [22041.387718] warn_alloc+0x100/0x190
> [22041.387725] __alloc_pages_slowpath+0xb93/0xbd0
> [22041.387732] __alloc_pages_nodemask+0x26d/0x2b0
> [22041.387739] alloc_pages_current+0x6a/0xe0
> [22041.387744] kmalloc_order+0x18/0x40
> [22041.387748] kmalloc_order_trace+0x24/0xb0
> [22041.387754] __kmalloc+0x20e/0x230
> [22041.387759] ? __vmalloc_node_range+0x171/0x250
> [22041.387765] xnheap_init+0x87/0x200
> [22041.387770] ? remove_process+0xc0/0xc0
> [22041.387775] cobalt_umm_init+0x61/0xb0

There's various ways the stack unwinder for the call trace can work.
On some architectures, there is an explicit stack pointer register, and
it's saved in the stack by the 'call' opcode, so unwinding can be exact.
On other systems, an explicit stack pointer is optional (such as on x86,
where not building with one allows one more temporary register, which
can help with efficient code generation).  There, unwinds are inexact -
it basically steps through the stack and finds entries that are viable
pointers into the kernel/module executable code space.  Sometimes,
it will find what looks like a return pointer but it's not at a plausible
location in the stack entry, so it may be trash left on the stack, so
it flags it with a '?'

[-- Attachment #1.2: Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

      reply	other threads:[~2020-06-19  7:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-19  5:29 There is a question mark in front of the function name in the call trace log.What does the question mark imply? 孙世龙
2020-06-19  7:58 ` Valdis Klētnieks [this message]

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=468303.1592553489@turing-police \
    --to=valdis.kletnieks@vt.edu \
    --cc=Kernelnewbies@kernelnewbies.org \
    --cc=sunshilong369@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;
as well as URLs for NNTP newsgroup(s).