From: Alexey Kardashevskiy <aik@amd.com>
To: Dave Hansen <dave.hansen@intel.com>, x86@kernel.org
Cc: linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
Nikunj A Dadhania <nikunj@amd.com>,
Ard Biesheuvel <ardb@kernel.org>,
Brijesh Singh <brijesh.singh@amd.com>,
Ashish Kalra <ashish.kalra@amd.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Michael Roth <michael.roth@amd.com>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Liam Merwick <liam.merwick@oracle.com>
Subject: Re: [PATCH 2/4] x86/sev: Allocate request in TSC_INFO_REQ on stack
Date: Tue, 6 May 2025 12:05:49 +1000 [thread overview]
Message-ID: <16e559e9-7161-4ac5-a823-22c5cf529bab@amd.com> (raw)
In-Reply-To: <13dc0d80-5d7f-40ce-be82-8d0f3eb24a1a@intel.com>
On 6/5/25 02:03, Dave Hansen wrote:
> On 5/5/25 07:12, Alexey Kardashevskiy wrote:
>> Allocate a 88 byte request structure on stack and skip needless
>> kzalloc/kfree.
>
> Could you maybe take a closer look at _all_ of these rather than poking
> at them one at a time?
>
> snp_guest_request_ioctl, for example, looks to be ~32 bytes. Why fix
> 'struct snp_guest_req' and leave an even worse offender?
snp_guest_request_ioctl is allocated on the stack in snp_guest_ioctl(), it calls, say, get_report() which allocates snp_guest_req on the stack too. Do I miss something?
> Or, maybe just be done with it and convert them all over to __free().
> Yeah, some of them don't need to be kmalloc(), but kmalloc()s are cheap
> and consistency is nice, like in the attached patch.
I'd rather not. cheap != free, also hurts to read all these __free - I know it is cheap to kmalloc() and initialize pointers on the stack with NULL but also useless.
More to the oint - it helps (at least me) to see from declarations what structure must be page aligned page size (or any other special allocation requirements) allocation for aesgcm_encrypt() to not barf later on and what does not.
> It also wouldn't be awful to mix stack and kmalloc() allocations,
> especially when the freeing semantics are the same for stack and
> __free()-annotated allocations.
If anything, I'd rather merge snp_msg_alloc() into snp_msg_init() and skip on allocating the snp_msg_desc struct.
For now I want the patch to be painfully simple to review and make the code a little easier to read.
> But it would be really nice to completely eliminate the goto mess.
I understand it is 2025 but it is not exactly mess. Thanks for the review, I am planning to follow up on this, just probably not exactly with __free-cation of everything.
--
Alexey
next prev parent reply other threads:[~2025-05-06 2:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-05 14:12 [PATCH 0/4] x86/sev: Rework SNP Guest Request Alexey Kardashevskiy
2025-05-05 14:12 ` [PATCH 1/4] virt: sev-guest: Contain snp_guest_request_ioctl in sev-guest Alexey Kardashevskiy
2025-05-05 15:11 ` Dionna Amalie Glaze
2025-05-05 14:12 ` [PATCH 2/4] x86/sev: Allocate request in TSC_INFO_REQ on stack Alexey Kardashevskiy
2025-05-05 15:13 ` Dionna Amalie Glaze
2025-05-05 16:03 ` Dave Hansen
2025-05-06 2:05 ` Alexey Kardashevskiy [this message]
2025-05-05 14:12 ` [PATCH 3/4] x86/sev: Document requirement for linear mapping of Guest Request buffers Alexey Kardashevskiy
2025-05-05 15:18 ` Dionna Amalie Glaze
2025-05-05 14:12 ` [PATCH 4/4] x86/sev: Drop unnecessary parameter in snp_issue_guest_request Alexey Kardashevskiy
2025-05-05 15:19 ` Dionna Amalie Glaze
2025-05-06 18:55 ` [PATCH 0/4] x86/sev: Rework SNP Guest Request Tom Lendacky
2025-06-05 2:40 ` Alexey Kardashevskiy
2025-06-06 12:57 ` 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=16e559e9-7161-4ac5-a823-22c5cf529bab@amd.com \
--to=aik@amd.com \
--cc=ardb@kernel.org \
--cc=ashish.kalra@amd.com \
--cc=bp@alien8.de \
--cc=brijesh.singh@amd.com \
--cc=dave.hansen@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=liam.merwick@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.roth@amd.com \
--cc=mingo@redhat.com \
--cc=nikunj@amd.com \
--cc=pbonzini@redhat.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--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.