Re: Yet another unwinding approach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Daniel Colascione:

> See, both pro-FP and anti-FP camps think that it's the kernel that has
> to do the unwinding unless we copy whole stacks into traces.

Well, I think we should explore hardware-assisted backtraces (shadow
stacks), which hopefully are going to get merged in Linux 6.2.

> Why should that be? As mentioned in [1], instead of finding a way to
> have the kernel unwind user programs, we can create a protocol through
> which the kernel can ask usermode to unwind itself. It could work like
> this:

If the unwind information is incomplete, this …

> 7) signal handler unwinds the calling thread however it wants (and can
> sleep and take page faults if needed)

… might encounter segmentation faults and terminate the process.  So
far, incorrect unwind information (whether it's a clobbered frame
pointer, or missing DWARF information about clobbered registers) is not
a problem, but it's kind of hard to validate this information from
within the process itself.  Maybe we'd have to add a magic memcpy first
to the vDSO, which the kernel recognizes based on the code addresses,
and suppresses sending the signal for it.

Thanks,
Florian
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux