From: Jason Gunthorpe <jgg@nvidia.com>
To: "Aneesh Kumar K.V (Arm)" <aneesh.kumar@kernel.org>
Cc: linux-coco@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Catalin Marinas <catalin.marinas@arm.com>,
Greg KH <gregkh@linuxfoundation.org>,
Jeremy Linton <jeremy.linton@arm.com>,
Jonathan Cameron <jic23@kernel.org>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Will Deacon <will@kernel.org>,
Steven Price <steven.price@arm.com>,
Suzuki K Poulose <Suzuki.Poulose@arm.com>,
Andre Przywara <andre.przywara@arm.com>
Subject: Re: [PATCH v10 5/7] virt: coco: arm-cca-guest: Rename TSM report source file
Date: Fri, 04 Sep 2026 16:39:35 -0300 [thread overview]
Message-ID: <178855077570.693280.8967787043187042.b4-review@b4> (raw)
In-Reply-To: <20260904095000.1184861-6-aneesh.kumar@kernel.org>
> The Arm CCA guest driver currently only implements TSM report support, but
> follow-up changes will add more TSM-related functionality to the same
> module.
>
> Rename arm-cca-guest.c to main.c and build it as an object of the
> arm-cca-guest module. This leaves room for the module to grow additional
> source files.
It doesn't matter but I would have described this as:
If a module is comprised of a single .c file with the same name as the
module then kbuild does not permit adding any more .c files to the
module. Rename arm-cca-guest.c to main.c so more source files can be
added.
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> [ ... 19 lines skipped ... ]
> @@ -156,7 +156,7 @@ static int arm_cca_report_new(struct tsm_report *report, void *data)
> return ret;
> }
[Severity: High]
This isn't a bug introduced by this patch, but while reviewing the renamed
arm_cca_report_new() function, I noticed a potential out-of-bounds read
involving the RMM response length.
Does this code properly validate the length returned by the Realm Management
Monitor (RMM) before copying data?
In arm_cca_attestation_continue(), the untrusted length returned by the RMM
is unconditionally added to info->offset:
info->offset += len;
If a buggy or compromised RMM returns an unexpectedly large length,
info.offset can exceed RSI_GRANULE_SIZE (4096 bytes). The loop in
arm_cca_report_new() will terminate since info.offset < RSI_GRANULE_SIZE
becomes false, but as long as token_size + info.offset <= max_size, it
executes this copy:
memcpy(&token[token_size], buf, info.offset);
Since buf is allocated to be exactly RSI_GRANULE_SIZE bytes, using an
unvalidated info.offset here results in an out-of-bounds read from buf.
Could this leak adjacent kernel heap memory into the attestation token
that is returned to userspace?
This seems like something that should be fixed independently for
robustness.
--
Jason
next prev parent reply other threads:[~2026-09-04 19:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 9:49 [PATCH v10 0/7] Switch Arm SMCCC firmware services to an SMCCC bus Aneesh Kumar K.V (Arm)
2026-09-04 9:49 ` [PATCH v10 1/7] firmware: smccc: Add an Arm " Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe
2026-09-04 9:49 ` [PATCH v10 2/7] firmware: hwrng: arm_smccc_trng: Register as an SMCCC device Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe
2026-09-04 9:49 ` [PATCH v10 3/7] firmware: arm_rmm: Move RSI support out of arch/arm64 Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe
2026-09-04 9:49 ` [PATCH v10 4/7] arm64: realm: Move Realm memory encryption ops to RSI code Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe
2026-09-04 9:49 ` [PATCH v10 5/7] virt: coco: arm-cca-guest: Rename TSM report source file Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe [this message]
2026-09-04 9:49 ` [PATCH v10 6/7] firmware: smccc: arm-cca-guest: Bind the TSM provider to an SMCCC device Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe
2026-09-09 7:37 ` Aneesh Kumar K.V
2026-09-09 12:05 ` Jason Gunthorpe
2026-09-04 9:50 ` [PATCH v10 7/7] coco: guest: arm64: Replace dummy CCA device with sysfs ABI Aneesh Kumar K.V (Arm)
2026-09-04 19:39 ` Jason Gunthorpe
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=178855077570.693280.8967787043187042.b4-review@b4 \
--to=jgg@nvidia.com \
--cc=Suzuki.Poulose@arm.com \
--cc=andre.przywara@arm.com \
--cc=aneesh.kumar@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=gregkh@linuxfoundation.org \
--cc=jeremy.linton@arm.com \
--cc=jic23@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=steven.price@arm.com \
--cc=sudeep.holla@arm.com \
--cc=will@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox