On Wed, Dec 11, 2024 at 10:22 AM <devel-request@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Date: Tue, 10 Dec 2024 20:18:43 +0800
From: "Hou Wenlong" <houwenlong.hwl@xxxxxxxxxxxx>
Subject: [PATCH] x86_64: Mark #VC stack unavailable
when CONFIG_AMD_MEM_ENCRYPT is not set
To: devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: Hou Wenlong <houwenlong.hwl@xxxxxxxxxxxx>
Message-ID: <f1fca9918841de9a48f428d498f50964f1dab543.1733831073.git.h
ouwenlong.hwl@xxxxxxxxxxxx>
When 'CONFIG_AMD_MEM_ENCRYPT' is not set, the IDT handler for #VC is not
registered, but the address of the #VC IST stack is still set in
tss_setup_ist(). Therefore, the name of the associated exception stack
is "UNKNOWN" instead of "VC". Although the base of the exception stack
is not zero and is available, it is not accessible, which will cause the
backtrace to fail when attempting to access the #VC stack. To fix this,
remove the name check.
Thank you for the fix, Hou.
Signe-off-by: Hou Wenlong <houwenlong.hwl@xxxxxxxxxxxx>
---
x86_64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x86_64.c b/x86_64.c
index e7f8fe25b31f..ee12ba095e6e 100644
--- a/x86_64.c
+++ b/x86_64.c
@@ -1540,7 +1540,7 @@ x86_64_ist_init(void)
ms->stkinfo.available[c][i] = TRUE;
/* VC stack can be unmapped if SEV-ES is disabled or not supported. */
- if (STREQ(ms->stkinfo.exception_stacks[i], "VC") &&
+ if (ms->stkinfo.ebase[c][i] &&
Can you help double check if the above condition is redundant in your case? Seems the check '!accessible(ms->stkinfo.ebase[c][i])' should be enough.
Thanks
Lianbo
!accessible(ms->stkinfo.ebase[c][i]))
ms->stkinfo.available[c][i] = FALSE;
}
base-commit: f13853cef53f5c5463a51021edbc81977e2b1405
--
2.31.1
-- 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