On Mon, Jul 24, 2017 at 03:02:55PM -0500, Brijesh Singh wrote: > The command is used for finializing the SEV guest launch process. > > Signed-off-by: Brijesh Singh <brijesh.singh@xxxxxxx> > --- > arch/x86/kvm/svm.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 9b672eb..7a77197 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -6005,6 +6005,25 @@ static int sev_launch_measure(struct kvm *kvm, struct kvm_sev_cmd *argp) > return ret; > } > > +static int sev_launch_finish(struct kvm *kvm, struct kvm_sev_cmd *argp) > +{ > + struct sev_data_launch_finish *data; This one is a very good example why you should do this on the stack: this struct has a single u32 handle; member. The amount of operations to do kzalloc and kfree for a single u32 are simply not justified. -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --