From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x233.google.com (mail-lf0-x233.google.com [IPv6:2a00:1450:4010:c07::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C5E9081CE2 for ; Wed, 2 Nov 2016 04:56:59 -0700 (PDT) Received: by mail-lf0-x233.google.com with SMTP id t196so10359579lff.3 for ; Wed, 02 Nov 2016 04:57:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=6ck7LSrBswN0SbxW7dRPV7BBmj25aG5OqbgegfQwyKk=; b=UgIilGuV4sRARnC1IFWICsO3L3U2KemkEu6EjqzycStnLvakznI3S4REq8r9ij05yS HESFOn2sm6CsmXXLE73k4JqBSoS0mLOt/2ybO9ku1HmMomrJ+IYLroOSo5xUh20y16s/ XWLBOKSbW3HEOs+rGHOqoKiHJ2ywJ0YfNpsiM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=6ck7LSrBswN0SbxW7dRPV7BBmj25aG5OqbgegfQwyKk=; b=Ih/jPDHGWIxgfJTwEOhxHgy+BVNDsWDaiooBjzIoPzEsaBVuEO1dLIuHSC4XjKIfqk OXeElnIoQ9jRvhFBeTKzBldrZq2HXTE5omzwyuQjJM5SlE1eYQlYxotykCVFNe/nL1Ru pDcGJbgmO2SBHVC0WUSqCaMdl8i5mIyfnE90XQReq+u4o5S8iCsRHviYwuqOuQoI7liV W1iUxQx4xpf+tWMDjD97UrzmH4q3tuPM8TFcLvjbSz0P6MMlE42VTFvplXP15u14YIHb /xFPbOyxy5enYA2a6c6FPjcRS8OCUNThilqdQvaUA/BQIvxo1Eqk91Z2cT9xRqfovVwN vidg== X-Gm-Message-State: ABUngvdrzD+epezl2saUJFOU5wsr9HW00qsOawi0pgpazzuTV57MpY1ORi372K2diYPb4CkthI+UHQyc17yRvISQ X-Received: by 10.25.209.136 with SMTP id i130mr562592lfg.1.1478087819553; Wed, 02 Nov 2016 04:56:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.17.209 with HTTP; Wed, 2 Nov 2016 04:56:58 -0700 (PDT) In-Reply-To: References: <1474583868-41777-1-git-send-email-daniil.egranov@arm.com> From: Ryan Harkin Date: Wed, 2 Nov 2016 11:56:58 +0000 Message-ID: To: Ard Biesheuvel Cc: Daniil Egranov , "edk2-devel@lists.01.org" , Leif Lindholm Subject: Re: [PATCH] ArmPkg/Library/ArmDmaLib: Deallocate Map buffer in case of error X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Nov 2016 11:57:00 -0000 Content-Type: text/plain; charset=UTF-8 On 1 November 2016 at 17:58, Ryan Harkin wrote: > Hi Leif, > > Is this waiting for a Tested-by or something else? > Either way, I tested it on Juno R0/1/2 while I was testing the MAC address change... > Cheers, > Ryan. > > On 23 September 2016 at 09:00, Ard Biesheuvel wrote: >> On 22 September 2016 at 23:37, Daniil Egranov wrote: >>> The patch is fixing memory leak in case of errors. >>> >>> Contributed-under: TianoCore Contribution Agreement 1.0 >>> Signed-off-by: Daniil Egranov >> >> Reviewed-by: Ard Biesheuvel >> Tested-by; Ryan Harkin >>> --- >>> ArmPkg/Library/ArmDmaLib/ArmDmaLib.c | 7 +++++-- >>> 1 file changed, 5 insertions(+), 2 deletions(-) >>> >>> diff --git a/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c b/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c >>> index d48d6ff..e0006c0 100644 >>> --- a/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c >>> +++ b/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c >>> @@ -90,14 +90,13 @@ DmaMap ( >>> return EFI_OUT_OF_RESOURCES; >>> } >>> >>> - *Mapping = Map; >>> - >>> if ((((UINTN)HostAddress & (gCacheAlignment - 1)) != 0) || >>> ((*NumberOfBytes & (gCacheAlignment - 1)) != 0)) { >>> >>> // Get the cacheability of the region >>> Status = gDS->GetMemorySpaceDescriptor (*DeviceAddress, &GcdDescriptor); >>> if (EFI_ERROR(Status)) { >>> + FreePool(Map); >>> return Status; >>> } >>> >>> @@ -112,6 +111,7 @@ DmaMap ( >>> "%a: Operation type 'MapOperationBusMasterCommonBuffer' is only supported\n" >>> "on memory regions that were allocated using DmaAllocateBuffer ()\n", >>> __FUNCTION__)); >>> + FreePool(Map); >>> return EFI_UNSUPPORTED; >>> } >>> >>> @@ -122,6 +122,7 @@ DmaMap ( >>> Map->DoubleBuffer = TRUE; >>> Status = DmaAllocateBuffer (EfiBootServicesData, EFI_SIZE_TO_PAGES (*NumberOfBytes), &Buffer); >>> if (EFI_ERROR (Status)) { >>> + FreePool(Map); >>> return Status; >>> } >>> >>> @@ -162,6 +163,8 @@ DmaMap ( >>> Map->NumberOfBytes = *NumberOfBytes; >>> Map->Operation = Operation; >>> >>> + *Mapping = Map; >>> + >>> return EFI_SUCCESS; >>> } >>> >>> -- >>> 2.7.4 >>> >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel