x86-64/arch_prof: fix backtrace

This commit is contained in:
Matheus
2025-12-07 12:06:14 -03:00
parent 16d8d5248a
commit 1a7a178168
+4 -2
View File
@@ -72,8 +72,10 @@ static uint8_t get_backtrace(context_t *context, uintptr_t *data) {
if (IS_USER_ADDRESS(context->rip))
return 0;
data[0] = context->rip;
uint64_t *rbp = (uint64_t *)context->rbp;
uint8_t done = 0;
uint8_t done = 1;
for (;;) {
if (IS_USER_ADDRESS(rbp) || done == 255)
@@ -83,7 +85,7 @@ static uint8_t get_backtrace(context_t *context, uintptr_t *data) {
if (IS_USER_ADDRESS(rip))
break;
data[done++] = rip;
data[done++] = rip - 1;
rbp = (uint64_t *)*rbp;
}