Opened 10 years ago
Closed 2 years ago
#11131 closed bug (fixed)
KDL faults when printing the backtrace due to incorrect condition to terminate stack unwinding
Reported by: | arvindsraj | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | System/Kernel | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | arm |
Description
Currently, the check under which KDL stops unwinding the stack is incorrect. As a result, KDL faults when it tries to access the frames of the u-boot function that invoked the haiku loader. The patch adds a check to ensure that the frame prior to the kernel entry are not included in the backtrace by ensuring that the value of lr register is within the memory allocated for the kernel.
Attachments (1)
Change History (12)
by , 10 years ago
Attachment: | Added-check-to-ensure-KDL-does-not-fault-when-printing-backtrace.patch added |
---|
comment:1 by , 10 years ago
patch: | 0 → 1 |
---|
comment:2 by , 10 years ago
comment:3 by , 10 years ago
Patch applied in hrev47797. We will want to fix this in a better way (see Ithamar comment), but it will do for now. Leaving the ticket open until the better fix is implemented.
comment:4 by , 10 years ago
Milestone: | R1 → Unscheduled |
---|
Moving non-x86 related tickets out of R1 milestone.
comment:5 by , 10 years ago
Actually I think this one was fixed during the coding sprint. Ithamar, do you confirm?
comment:6 by , 9 years ago
patch: | 1 → 0 |
---|
comment:8 by , 9 years ago
patch: | 1 → 0 |
---|
comment:9 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:11 by , 2 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
we get proper stack traces since hrev56350, therefore closing this ticket
This change actually limits stack traces to the first 8MB of the kernel, which does not sound like a proper fix. It works for now, since it is also the max kernel size on ARM at the moment, but with additional kernel modules loaded and such this will not work. Also, this only seems to be a problem on KDLs before the VM is properly initialized. I've hacked the kernel a little to get further, and KDL is working perfectly fine for me (including symbols, yay!).