[Crash-utility] Re: [PATCH] arm64: fix a potential segfault in arm64_unwind_frame

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

 



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

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux