Message ID | 20250106124633.1418972-3-nikunj@amd.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add Secure TSC support for SNP guests | expand |
On 1/6/25 06:46, Nikunj A Dadhania wrote: > Replace GFP_KERNEL_ACCOUNT with GFP_KERNEL in the sev-guest driver code. > GFP_KERNEL_ACCOUNT is typically used for accounting untrusted userspace > allocations. After auditing the sev-guest code, the following changes are > necessary: > > * snp_init_crypto(): Use GFP_KERNEL as this is a trusted device probe > path. > > Retain GFP_KERNEL_ACCOUNT in the following cases for robustness and > specific path requirements: > > * alloc_shared_pages(): Although all allocations are limited, retain > GFP_KERNEL_ACCOUNT for future robustness. > > * get_report() and get_ext_report(): These functions are on the unlocked > ioctl path and should continue using GFP_KERNEL_ACCOUNT. > > Suggested-by: Borislav Petkov <bp@alien8.de> > Signed-off-by: Nikunj A Dadhania <nikunj@amd.com> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> > --- > drivers/virt/coco/sev-guest/sev-guest.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/virt/coco/sev-guest/sev-guest.c b/drivers/virt/coco/sev-guest/sev-guest.c > index 62328d0b2cb6..250ce92d816b 100644 > --- a/drivers/virt/coco/sev-guest/sev-guest.c > +++ b/drivers/virt/coco/sev-guest/sev-guest.c > @@ -141,7 +141,7 @@ static struct aesgcm_ctx *snp_init_crypto(u8 *key, size_t keylen) > { > struct aesgcm_ctx *ctx; > > - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL_ACCOUNT); > + ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); > if (!ctx) > return NULL; >
diff --git a/drivers/virt/coco/sev-guest/sev-guest.c b/drivers/virt/coco/sev-guest/sev-guest.c index 62328d0b2cb6..250ce92d816b 100644 --- a/drivers/virt/coco/sev-guest/sev-guest.c +++ b/drivers/virt/coco/sev-guest/sev-guest.c @@ -141,7 +141,7 @@ static struct aesgcm_ctx *snp_init_crypto(u8 *key, size_t keylen) { struct aesgcm_ctx *ctx; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL_ACCOUNT); + ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); if (!ctx) return NULL;
Replace GFP_KERNEL_ACCOUNT with GFP_KERNEL in the sev-guest driver code. GFP_KERNEL_ACCOUNT is typically used for accounting untrusted userspace allocations. After auditing the sev-guest code, the following changes are necessary: * snp_init_crypto(): Use GFP_KERNEL as this is a trusted device probe path. Retain GFP_KERNEL_ACCOUNT in the following cases for robustness and specific path requirements: * alloc_shared_pages(): Although all allocations are limited, retain GFP_KERNEL_ACCOUNT for future robustness. * get_report() and get_ext_report(): These functions are on the unlocked ioctl path and should continue using GFP_KERNEL_ACCOUNT. Suggested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Nikunj A Dadhania <nikunj@amd.com> --- drivers/virt/coco/sev-guest/sev-guest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)