Hi Ilias, On Sat, Mar 13, 2021 at 10:31 AM, Ilias Apalodimas wrote: > > + NumBytes =3D NumLba * Instance->BlockSize;=0D > + Base =3D (VOID *)Instance->MemBaseAddress + Start * Instance->BlockSiz= > e;=0D > + Buf =3D AllocatePool (NumLba * Instance->BlockSize);=0D > + if (Buf =3D=3D NULL) {=0D > + return EFI_DEVICE_ERROR;=0D > + }=0D > + SetMem64 (Buf, NumLba * Instance->BlockSize, ~0UL);=0D > + // Write the device=0D > + Status =3D ReadWriteRpmb (=0D > + SP_SVC_RPMB_WRITE,=0D > + (UINTN)Buf,=0D > + NumBytes,=0D > + Start * Instance->BlockSize=0D > + );=0D > + if (EFI_ERROR (Status)) {=0D I think there is a memory leak here as Buf is not freed. If you agree, I will fix this locally before merging the changes. > > + return Status;=0D > + }=0D > + // Update the in memory copy=0D > + SetMem64 (Base, NumLba * Instance->BlockSize, ~0UL);=0D > + FreePool (Buf);=0D > + }=0D > +=0D > + VA_END (Args);=0D > +=0D > + return EFI_SUCCESS;=0D > +}=0D Regards, Sami Mujawar