From: Bjorn Helgaas <helgaas@kernel.org>
To: Ragavendra <ragavendra.bn@gmail.com>
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, hpa@zytor.com,
thomas.lendacky@amd.com, ardb@kernel.org, tzimmermann@suse.de,
bhelgaas@google.com, x86@kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Updating es_em_ctxt fi to zero
Date: Tue, 19 Nov 2024 13:26:02 -0600 [thread overview]
Message-ID: <20241119192602.GA2272685@bhelgaas> (raw)
In-Reply-To: <20241119180517.196079-2-ragavendra.bn@gmail.com>
On Tue, Nov 19, 2024 at 10:05:18AM -0800, Ragavendra wrote:
> Updating es_em_ctxt to zero for the ctxt->fi variable in
> verify_exception_info when ES_EXCEPTION is returned.
This commit log basically says in English what the code does in C. If
you can include the *reason* why this is important, it will be more
helpful. For example, maybe somebody consumes other parts of ctxt.fi
(a struct es_fault_info), and without this patch, they use junk that
causes an oops or some other bad thing.
If the 34ff65901735 Fixes: tag is correct, I suppose the problem
happens because ctxt is allocated on the stack and contains junk, and
then svsm_perform_ghcb_protocol() passes it on to
vc_forward_exception(), which does use fields of ctxt->fi other than
.vector, which will be junk without this patch.
Hints and samples for commit logs:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/maintainer-tip.rst?id=v6.11#n134
Based on "git log --oneline arch/x86/coco/sev", I would expect the
subject line to have an "x86/sev: " prefix, e.g.,
x86/sev: Clear es_em_ctxt.fi to ...
> Fixes: 34ff65901735 x86/sev: Use kernel provided SVSM Calling Areas
> Signed-off-by: Ragavendra Nagraj <ragavendra.bn@gmail.com>
> ---
> arch/x86/coco/sev/shared.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/coco/sev/shared.c b/arch/x86/coco/sev/shared.c
> index 71de53194089..b8540d85e6f0 100644
> --- a/arch/x86/coco/sev/shared.c
> +++ b/arch/x86/coco/sev/shared.c
> @@ -239,6 +239,8 @@ static enum es_result verify_exception_info(struct ghcb *ghcb, struct es_em_ctxt
> if ((info & SVM_EVTINJ_VALID) &&
> ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
> ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
> + memset(&ctxt->fi, 0, sizeof(ctxt->fi));
> +
> ctxt->fi.vector = v;
>
> if (info & SVM_EVTINJ_VALID_ERR)
> --
> 2.46.1
>
next prev parent reply other threads:[~2024-11-19 19:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-19 18:05 [PATCH] Updating es_em_ctxt fi to zero Ragavendra
2024-11-19 19:26 ` Bjorn Helgaas [this message]
2024-11-19 19:46 ` Ragavendra B.N.
2024-11-19 19:56 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241119192602.GA2272685@bhelgaas \
--to=helgaas@kernel.org \
--cc=ardb@kernel.org \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=ragavendra.bn@gmail.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tzimmermann@suse.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.