[Crash-utility] arm64: Support overflow stack panic

Hong YANG3 杨红 hong.yang3 at nio.com
Mon Nov 29 03:40:25 UTC 2021


Hi Lianbo

I'm using outlook to send mail to this list, I'll try to find a better way to send out patch and mails more friendly for all reader, .

I'll send out a demo kernel module which can trigger an overflow panic for testing, and also the patch will be updated as your comment in previous mail.

Thanks for your quickly reply.

Best regards
Hong
________________________________
From: lijiang <lijiang at redhat.com>
Sent: Monday, November 29, 2021 10:58
To: Hong YANG3 杨红 <hong.yang3 at nio.com>; Discussion list for crash utility usage, maintenance and development <crash-utility at redhat.com>
Subject: Re: arm64: Support overflow stack panic

注意:此封邮件来自于公司外部,请注意信息安全!
Attention: This email comes from outside of the company, please pay attention to the information security!
Hi, Hong

Thank you for the patch.  I added the comments below, other changes look good to me.

@@ -1978,7 +2028,10 @@ arm64_in_exception_text(ulong ptr)
                if ((ptr >= ms->__exception_text_start) &&
                    (ptr < ms->__exception_text_end))
                        return TRUE;
-       } else if ((name = closest_symbol(ptr))) {  /* Linux 5.5 and later */
+       }
+
+       name = closest_symbol(ptr);
+       if (name != NULL) { /* Linux 5.5 and later */

The above changes are irrelevant to your patch itself. But anyway this looks more readable to me.

                for (func = &arm64_exception_functions[0]; *func; func++) {
                        if (STREQ(name, *func))
                                return TRUE;
@@ -2255,12 +2308,14 @@ arm64_unwind_frame(struct bt_info *bt, struct arm64_stackframe *frame)
        if (!(machdep->flags & IRQ_STACKS))
                return TRUE;

-       if (!(machdep->flags & IRQ_STACKS))
+       if (!(machdep->flags & OVERFLOW_STACKS))
                return TRUE;

Originally, it had two same(repeated) statements, one of which must be redundant.  This time, can it be changed to a statement as below?

if (!(machdep->flags & (IRQ_STACKS | OVERFLOW_STACKS)))
        return TRUE;

BTW:  this patch was sent as an attachment, which is inconvenient for other reviewers to add comments.

In addition, I  have a request: can you share the vmcore with me if it doesn't have confidential data? I'm collecting the specific vmcore
for the test, at least I haven't reproduced it.

Thanks.
Lianbo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20211129/4d78a75e/attachment.htm>


More information about the Crash-utility mailing list