public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Jagadeesh Ujja <jagadeesh.ujja@arm.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Zhang, Chao B" <chao.b.zhang@intel.com>,
	Leif Lindholm <leif.lindholm@linaro.org>
Subject: Re: [PATCH 13/13] CryptoPkg/BaseCryptLib: allow MM_STANDALONE drivers to use this library
Date: Fri, 21 Dec 2018 11:13:30 +0100	[thread overview]
Message-ID: <CAKv+Gu_diMPV2TWg7bMKw6Rq3=LeRJkvuUzzKXDs2sbOYDguww@mail.gmail.com> (raw)
In-Reply-To: <1544789607-11316-14-git-send-email-jagadeesh.ujja@arm.com>

On Fri, 14 Dec 2018 at 13:14, Jagadeesh Ujja <jagadeesh.ujja@arm.com> wrote:
>
> “BaseCryptLib” library can be used by MM_STANDALONE drivers as well.
> So add MM_STANDALONE as the module type this library supports.
>

This patch affects other drivers as well. Also, shouldn't we be using
SmmCryptLib for MM_STANDALONE?

The MODULE_TYPE of SmmCryptLib can be changed to BASE since it doesn't
have a constructor. I think that should also address your time()
issue, no?

> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Jagadeesh Ujja <jagadeesh.ujja@arm.com>
> ---
>  CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf       |  7 ++++++-
>  CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf    |  4 ++++
>  CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c | 15 +++++++++------
>  3 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> index f29445c..b6ebac5 100644
> --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> @@ -7,6 +7,7 @@
>  #  buffer overflow or integer overflow.
>  #
>  #  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2018, ARM Limited. All rights reserved.<BR>
>  #  This program and the accompanying materials
>  #  are licensed and made available under the terms and conditions of the BSD License
>  #  which accompanies this distribution.  The full text of the license may be found at
> @@ -24,7 +25,7 @@
>    FILE_GUID                      = be3bb803-91b6-4da0-bd91-a8b21c18ca5d
>    MODULE_TYPE                    = DXE_DRIVER
>    VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER
> +  LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER MM_STANDALONE
>
>  #
>  # The following information is for reference only and not required by the build tools.
> @@ -85,6 +86,10 @@
>    OpensslLib
>    IntrinsicLib
>    PrintLib
> +  PcdLib
> +
> +[Pcd]
> +  gEfiMdePkgTokenSpaceGuid.PcdStandaloneMmCodeEnabled
>
>  #
>  # Remove these [BuildOptions] after this library is cleaned up
> diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> index 32628c8..fb16451 100644
> --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> @@ -91,6 +91,10 @@
>    OpensslLib
>    IntrinsicLib
>    PrintLib
> +  PcdLib
> +
> +[Pcd]
> +  gEfiMdePkgTokenSpaceGuid.PcdStandaloneMmCodeEnabled
>
>  #
>  # Remove these [BuildOptions] after this library is cleaned up
> diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c b/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c
> index 5f9b0c2..de8e756 100644
> --- a/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c
> +++ b/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c
> @@ -3,6 +3,7 @@
>    for OpenSSL-based Cryptographic Library (used in DXE & RUNTIME).
>
>  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2018, ARM Limited. All rights reserved.<BR>
>  This program and the accompanying materials
>  are licensed and made available under the terms and conditions of the BSD License
>  which accompanies this distribution.  The full text of the license may be found at
> @@ -77,12 +78,14 @@ time_t time (time_t *timer)
>    time_t      CalTime;
>    UINTN       Year;
>
> -  //
> -  // Get the current time and date information
> -  //
> -  Status = gRT->GetTime (&Time, NULL);
> -  if (EFI_ERROR (Status) || (Time.Year < 1970)) {
> -    return 0;
> +  if (!PcdGetBool (PcdStandaloneMmCodeEnabled)) {
> +    //
> +    // Get the current time and date information
> +    //
> +    Status = gRT->GetTime (&Time, NULL);
> +    if (EFI_ERROR (Status) || (Time.Year < 1970)) {
> +      return 0;
> +    }
>    }
>
>    //
> --
> 2.7.4
>


  reply	other threads:[~2018-12-21 10:13 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-14 12:13 [PATCH 00/13] Extend secure variable service to be usable from Standalone MM Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 01/13] StandaloneMmPkg: Pull in additonal libraries from staging branch Jagadeesh Ujja
2018-12-21  8:58   ` Ard Biesheuvel
2018-12-14 12:13 ` [PATCH 02/13] MdePkg: Add a PCD that indicates presence of Standalone MM mode Jagadeesh Ujja
2018-12-21  9:13   ` Ard Biesheuvel
2018-12-14 12:13 ` [PATCH 03/13] MdeModulePkg: Add a PCD to indicate Standalone MM supports secure variable Jagadeesh Ujja
2018-12-21  9:13   ` Ard Biesheuvel
2018-12-14 12:13 ` [PATCH 04/13] MdePkg/Include: add StandaloneMmServicesTableLib header file Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 05/13] MdePkg/Library/BaseLib/AArch64: Add AsmLfence function Jagadeesh Ujja
2018-12-14 13:53   ` Ard Biesheuvel
2018-12-17  2:04     ` Gao, Liming
2018-12-17  3:29       ` Yao, Jiewen
2018-12-17  7:45         ` Ard Biesheuvel
2018-12-17  8:10           ` Ard Biesheuvel
2018-12-17  8:24             ` Yao, Jiewen
2018-12-17  8:30               ` Yao, Jiewen
2018-12-17  8:35                 ` Ard Biesheuvel
2018-12-17  8:44                   ` Yao, Jiewen
2018-12-17  9:27                     ` Ard Biesheuvel
2018-12-18  2:08                       ` Yao, Jiewen
2018-12-18  2:12                         ` Gao, Liming
2018-12-18  2:19                           ` Yao, Jiewen
2018-12-20  9:00                         ` Jagadeesh Ujja
2018-12-20  9:10                           ` Ard Biesheuvel
2018-12-14 12:13 ` [PATCH 06/13] MdePkg/Library: Add StandaloneMmRuntimeDxe library Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 07/13] MdeModulePkg/FaultTolerantWriteDxe: allow reusability as a MM driver Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 08/13] MdeModulePkg/Variable/RuntimeDxe: adapt for usability with MM Standalone Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 09/13] MdeModulePkg/Variable/RuntimeDxe: adapt as a MM Standalone driver Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 10/13] MdeModulePkg/VarCheckLib: allow MM_STANDALONE drivers to use this library Jagadeesh Ujja
2019-01-02 13:05   ` Ard Biesheuvel
2019-01-02 13:23     ` Gao, Liming
2019-01-02 14:23       ` Ard Biesheuvel
2019-01-02 16:54         ` Ard Biesheuvel
2019-01-02 13:27     ` Jagadeesh Ujja
2018-12-14 12:13 ` [PATCH 11/13] ArmPlatformPkg/NorFlashDxe: allow reusability as a MM driver Jagadeesh Ujja
2018-12-21 11:07   ` Ard Biesheuvel
2018-12-14 12:13 ` [PATCH 12/13] SecurityPkg/AuthVariableLib: allow MM_STANDALONE drivers to use this library Jagadeesh Ujja
2019-01-02 13:05   ` Ard Biesheuvel
2018-12-14 12:13 ` [PATCH 13/13] CryptoPkg/BaseCryptLib: " Jagadeesh Ujja
2018-12-21 10:13   ` Ard Biesheuvel [this message]
2018-12-17  1:45 ` [PATCH 00/13] Extend secure variable service to be usable from Standalone MM Gao, Liming
2018-12-17 11:46   ` Jagadeesh Ujja
2018-12-18  4:37     ` Gao, Liming
2018-12-18 11:19       ` Jagadeesh Ujja
2018-12-20 14:23         ` Gao, Liming
2019-01-02 17:15           ` Ard Biesheuvel
2019-01-03  7:43             ` Jagadeesh Ujja
2019-01-03  9:52               ` Ard Biesheuvel
2019-01-03 10:35                 ` Ard Biesheuvel
2018-12-21  2:57 ` Wang, Jian J
2019-01-02 13:19   ` Jagadeesh Ujja
2019-01-03  2:37     ` Wang, Jian J

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='CAKv+Gu_diMPV2TWg7bMKw6Rq3=LeRJkvuUzzKXDs2sbOYDguww@mail.gmail.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