[edk2-devel] [PATCH] EmbeddedPkg/NonCoherentDmaLib: Avoid dereferencing unset Map field

Ard Biesheuvel ardb at kernel.org
Mon Aug 16 07:10:33 UTC 2021


On Fri, 13 Aug 2021 at 07:05, Jeremy Linton <jeremy.linton at arm.com> wrote:
>
> Map->Operation is used to select whether a DMA region that
> is being bounced has the source buffer copied to it. Except
> Map->Operation isn't yet set, so the behavior is somewhat
> random. Instead use the passed in Operation parameter.
>
> Signed-off-by: Jeremy Linton <jeremy.linton at arm.com>

Thanks for fixing this.

Liming, I am not sure what stage of the release cycle we are currently
in, but this fix should go in right away anyway. Unless any objections
are raised, I will merge it later today. I will leave it to you to
decide how this affects the stable tag release schedule.

-- 
Ard.


> ---
>  EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.c b/EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.c
> index 9c8ef5bfb5..1aec86fffd 100644
> --- a/EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.c
> +++ b/EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.c
> @@ -224,7 +224,7 @@ DmaMap (
>        goto FreeMapInfo;
>      }
>
> -    if (Map->Operation == MapOperationBusMasterRead) {
> +    if (Operation == MapOperationBusMasterRead) {
>        CopyMem (Map->BufferAddress, (VOID *)(UINTN)HostAddress, *NumberOfBytes);
>      }
>      mCpu->FlushDataCache (mCpu, (UINTN)Map->BufferAddress, AllocSize,
> --
> 2.13.7
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79338): https://edk2.groups.io/g/devel/message/79338
Mute This Topic: https://groups.io/mt/84857084/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list