public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Jeff Brasen <jbrasen@nvidia.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Leif Lindholm <leif.lindholm@linaro.org>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH 1/2] EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool()
Date: Thu, 8 Nov 2018 16:52:56 +0000	[thread overview]
Message-ID: <DM5PR12MB2439167E96648C9DB1AEF69ACBC50@DM5PR12MB2439.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CAKv+Gu-GDMbrWsuXcrF22BwO4fYJydk3fn9Nz4YM+-5DHEbJOg@mail.gmail.com>




________________________________
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Sent: Thursday, November 8, 2018 4:13 AM
To: Jeff Brasen; Leif Lindholm
Cc: edk2-devel@lists.01.org
Subject: Re: [edk2] [PATCH 1/2] EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool()

On 30 October 2018 at 22:30, Jeff Brasen <jbrasen@nvidia.com> wrote:
> This function is exposed by the MemoryAllocationLib header.
> An AllocateZeroPool() function has been added to fix modules depending on
> this library and this function.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
> ---
>  .../PrePiMemoryAllocationLib/MemoryAllocationLib.c | 32 ++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>
> diff --git a/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c b/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> index 0e75e23..f93f9cf 100644
> --- a/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> +++ b/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> @@ -16,6 +16,7 @@
>  #include <PiPei.h>
>
>  #include <Library/BaseLib.h>
> +#include <Library/BaseMemoryLib.h>
>  #include <Library/PrePiLib.h>
>  #include <Library/DebugLib.h>
>
> @@ -195,6 +196,37 @@ AllocatePool (
>  }
>
>  /**
> +  Allocates and zeros a buffer of type EfiBootServicesData.
> +
> +  Allocates the number bytes specified by AllocationSize of type EfiBootServicesData, clears the
> +  buffer with zeros, and returns a pointer to the allocated buffer.  If AllocationSize is 0, then a
> +  valid buffer of 0 size is returned.

I guess this is just boilerplate, but what on earth is 'a valid buffer
of 0 size'?

[JB] Copied this from the MemoryAllocationLib but allocate with create creates a free-able buffer is created with a unique pointer but you can't read/write to it (as it has no .

>  If there is not enough memory remaining to satisfy the
> +  request, then NULL is returned.
> +
> +  @param  AllocationSize        The number of bytes to allocate and zero.
> +
> +  @return A pointer to the allocated buffer or NULL if allocation fails.
> +
> +**/
> +VOID *
> +EFIAPI
> +AllocateZeroPool (
> +  IN UINTN  AllocationSize
> +  )
> +{
> +  VOID *Buffer;
> +
> +  Buffer = AllocatePool (AllocationSize);
> +  if (NULL == Buffer) {

Please don't use Yoda speak

[JB] Will update, habit of mine from before compilers would generally report a warning for assignments in if statements.

> +    return NULL;
> +  }
> +
> +  SetMem (Buffer, AllocationSize, 0);
> +
> +  return Buffer;
> +}
> +
> +/**
>    Frees a buffer that was previously allocated with one of the pool allocation functions in the
>    Memory Allocation Library.
>
> --
> 2.7.4
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


Thanks,

Jeff


Thanks,

Jeff

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


  reply	other threads:[~2018-11-08 16:53 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-30 21:30 [PATCH 0/2] SortLib for UEFI SEC Jeff Brasen
2018-10-30 21:30 ` [PATCH 1/2] EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool() Jeff Brasen
2018-10-30 22:57   ` Carsey, Jaben
2018-11-08  0:29   ` Gao, Liming
2018-11-08 11:13   ` Ard Biesheuvel
2018-11-08 16:52     ` Jeff Brasen [this message]
2018-10-30 21:30 ` [PATCH 2/2] MdeModulePkg/BaseSortLib: Enable for all module types Jeff Brasen
2018-10-30 22:57   ` Carsey, Jaben
2018-10-31  8:56   ` Ni, Ruiyu
2018-11-01  6:25     ` Jeff Brasen
2018-11-01 13:31       ` Gao, Liming
2018-11-02  4:59         ` Zeng, Star
2018-11-02  7:45           ` Gao, Liming

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-list 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=DM5PR12MB2439167E96648C9DB1AEF69ACBC50@DM5PR12MB2439.namprd12.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox