Hi, qiwu
Thank you for the update.
On Mon, Jul 15, 2024 at 11:52 AM <devel-request@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Date: Sun, 14 Jul 2024 11:38:27 -0000
From: qiwu.chen@xxxxxxxxxxxxx
Subject: Re: [PATCH] arm64: fix a potential segfault
in arm64_unwind_frame
To: devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
Message-ID: <20240714113827.21739.63969@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"
Sorry, the patch in previous mail. is mistake Please help review the below patch which is test fine:
diff --git a/arm64.c b/arm64.c
index b3040d7..b992c01 100644
--- a/arm64.c
+++ b/arm64.c
@@ -2814,7 +2814,7 @@ arm64_unwind_frame(struct bt_info *bt, struct arm64_stackframe
*frame)
low = frame->sp;
high = (low + stack_mask) & ~(stack_mask);
- if (fp < low || fp > high || fp & 0xf)
+ if (fp < low || fp > high || fp & 0xf || !INSTACK(fp, bt))
return FALSE;
I saw the similar code is in the arm64_unwind_frame_v2(), can you help to check if the current issue can be reproduced with bt -o/-O(although the -o/-O may be used in some old vmores)? Or we need to do the same change in the arm64_unwind_frame_v2().
BTW: I can not reproduce the current issue, can you help share how to reproduce this one(if possible)?
Thanks
Lianbo
frame->sp = fp + 0x10;
Thanks
-- Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki