From: Xiaoyao Li <xiaoyao.li@intel.com>
To: Peter Fang <peter.fang@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Kiryl Shutsemau <kas@kernel.org>,
Rick Edgecombe <rick.p.edgecombe@intel.com>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev,
kvm@vger.kernel.org, Binbin Wu <binbin.wu@linux.intel.com>
Subject: Re: [PATCH v3 2/4] virt: tdx-guest: Calculate the Quote buffer size safely
Date: Thu, 3 Sep 2026 13:33:24 +0800 [thread overview]
Message-ID: <55c04d6f-dd76-49b0-9dd8-4c0818818c39@intel.com> (raw)
In-Reply-To: <20260729122939.1340412-3-peter.fang@intel.com>
On 7/29/2026 8:29 PM, Peter Fang wrote:
> struct tdx_quote_buf has a trailing flexible array member.
> struct_size_t() calculates the size of this kind of struct safely. It
> handles overflow, which is an important property since the Quote size
> comes from the host.
>
> Use it in place of the fixed length limit.
>
> Signed-off-by: Peter Fang <peter.fang@intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
> ---
> v3:
> - Split out the use of struct_size_t() for buffer length from the v2
> "Allocate Quote buffer dynamically" patch to refactor first. [Dave]
> - Drop the Reviewed-by tags from v2 (Kiryl, Binbin) as the patch was
> reworked.
> ---
> drivers/virt/coco/tdx-guest/tdx-guest.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/virt/coco/tdx-guest/tdx-guest.c b/drivers/virt/coco/tdx-guest/tdx-guest.c
> index d0303e31e816..f47c5429d002 100644
> --- a/drivers/virt/coco/tdx-guest/tdx-guest.c
> +++ b/drivers/virt/coco/tdx-guest/tdx-guest.c
> @@ -170,7 +170,7 @@ static void tdx_mr_deinit(const struct attribute_group *mr_grp)
> #define GET_QUOTE_SUCCESS 0
> #define GET_QUOTE_IN_FLIGHT 0xffffffffffffffff
>
> -#define TDX_QUOTE_MAX_LEN (GET_QUOTE_BUF_SIZE - sizeof(struct tdx_quote_buf))
> +#define TDX_QUOTE_BUF_LEN(n) struct_size_t(struct tdx_quote_buf, data, n)
>
> /* struct tdx_quote_buf: Format of Quote request buffer.
> * @version: Quote format version, filled by TD.
> @@ -315,7 +315,7 @@ static int tdx_report_new_locked(struct tsm_report *report, void *data)
>
> out_len = READ_ONCE(quote_buf->out_len);
>
> - if (out_len > TDX_QUOTE_MAX_LEN)
> + if (TDX_QUOTE_BUF_LEN(out_len) > GET_QUOTE_BUF_SIZE)
> return -EFBIG;
>
> buf = kvmemdup(quote_buf->data, out_len, GFP_KERNEL);
next prev parent reply other threads:[~2026-09-03 5:33 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 12:29 [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic Peter Fang
2026-07-29 12:29 ` [PATCH v3 1/4] x86/tdx: Add helper to query maximum TD Quote size Peter Fang
2026-09-03 6:04 ` Tony Lindgren
2026-09-03 22:45 ` Peter Fang
2026-07-29 12:29 ` [PATCH v3 2/4] virt: tdx-guest: Calculate the Quote buffer size safely Peter Fang
2026-07-29 18:29 ` Kuppuswamy Sathyanarayanan
2026-09-03 5:33 ` Xiaoyao Li [this message]
2026-09-03 6:05 ` Tony Lindgren
2026-09-03 9:18 ` Binbin Wu
2026-07-29 12:29 ` [PATCH v3 3/4] virt: tdx-guest: Use a variable to store the Quote buffer size Peter Fang
2026-07-29 12:58 ` sashiko-bot
2026-09-03 5:25 ` Peter Fang
2026-07-29 18:47 ` Kuppuswamy Sathyanarayanan
2026-09-02 23:15 ` Peter Fang
2026-09-03 5:59 ` Xiaoyao Li
2026-09-04 1:28 ` Peter Fang
2026-09-03 6:31 ` Tony Lindgren
2026-09-04 4:51 ` Peter Fang
2026-09-03 9:17 ` Binbin Wu
2026-09-04 6:49 ` Peter Fang
2026-07-29 12:29 ` [PATCH v3 4/4] virt: tdx-guest: Allocate Quote buffer dynamically Peter Fang
2026-07-29 12:55 ` sashiko-bot
2026-09-03 7:04 ` Peter Fang
2026-09-03 6:21 ` Xiaoyao Li
2026-09-03 6:33 ` Tony Lindgren
2026-07-29 21:21 ` [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic Edgecombe, Rick P
2026-08-11 22:40 ` Edgecombe, Rick P
2026-08-12 14:08 ` Sean Christopherson
2026-08-12 16:02 ` Edgecombe, Rick P
2026-08-12 16:43 ` Sean Christopherson
2026-08-12 17:22 ` Edgecombe, Rick P
2026-08-12 22:37 ` Peter Fang
2026-08-12 22:47 ` Edgecombe, Rick P
2026-08-12 23:10 ` Sean Christopherson
2026-08-12 23:30 ` Edgecombe, Rick P
2026-08-13 19:32 ` Artem Bityutskiy
2026-08-13 20:14 ` Edgecombe, Rick P
2026-08-14 5:45 ` Artem Bityutskiy
2026-08-14 7:37 ` Peter Fang
2026-08-14 15:55 ` Edgecombe, Rick P
2026-08-15 11:39 ` Artem Bityutskiy
2026-08-17 17:26 ` Edgecombe, Rick P
2026-08-18 11:09 ` Artem Bityutskiy
2026-08-18 20:37 ` Sean Christopherson
2026-08-18 23:46 ` Edgecombe, Rick P
2026-08-19 14:57 ` Artem Bityutskiy
2026-08-12 23:27 ` Peter Fang
2026-08-12 21:02 ` Peter Fang
2026-08-27 22:22 ` Peter Fang
2026-08-27 22:41 ` Edgecombe, Rick P
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=55c04d6f-dd76-49b0-9dd8-4c0818818c39@intel.com \
--to=xiaoyao.li@intel.com \
--cc=binbin.wu@linux.intel.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=kas@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peter.fang@intel.com \
--cc=rick.p.edgecombe@intel.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=tglx@kernel.org \
--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.