From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 42EAB7803D2 for ; Thu, 21 Sep 2023 19:03:27 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=ojyeamUMXpN0t4FHta3MLnB3wt4A1wvZygPgeT2Bi+U=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:MIME-Version:User-Agent:Subject:To:References:From:Cc:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1695323006; v=1; b=c5ccA6oE5e9/bEaV9d6lcJ4ms2XTtbL1Ta7yUZle9VxLwLTjN+0nyYNz4pDJsQOZvNUSk9+/ NK+Yg4MMVOf7hwNL0FRF+vCYEEb2DwkJYQ8eLgyzN43QSLBPvO+qxWqyJJ+x96d8oWbuk7wDyss ADIAApVxBlTBTnRf91zONtms= X-Received: by 127.0.0.2 with SMTP id vBKmYY7687511xm9psOlMfOS; Thu, 21 Sep 2023 12:03:26 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.4253.1695323005161899900 for ; Thu, 21 Sep 2023 12:03:25 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 09AFEDA7; Thu, 21 Sep 2023 12:04:02 -0700 (PDT) X-Received: from [10.118.106.172] (C02F85CGML7H.austin.arm.com [10.118.106.172]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C4FB43F67D; Thu, 21 Sep 2023 12:03:24 -0700 (PDT) Message-ID: Date: Thu, 21 Sep 2023 14:03:24 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Subject: Re: [edk2-devel] [PATCH v2 3/6] uefi-sct/SctPkg: TCG MORLOCK SetVariable Test To: devel@edk2.groups.io, Abhi.Singh@arm.com References: <20230921163748.275971-1-Abhi.Singh@arm.com> <20230921163748.275971-4-Abhi.Singh@arm.com> From: "Stuart Yoder" Cc: G Edhaya Chandran , Barton Gao , Carolyn Gjertsen In-Reply-To: <20230921163748.275971-4-Abhi.Singh@arm.com> Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,stuart.yoder@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: rGeG02DXsEFVj0RUuzSIYQUDx7686176AA= Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=c5ccA6oE; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io See inline comments... On 9/21/23 11:37 AM, Abhimanyu Singh via groups.io wrote: > SCT spec: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4374 >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4419 >=20 > -Implement MemoryOverwriteRequestControlLockSetVariable test > cases > -Add Assertions 9 through 18 from SCT spec > -Add Test Case to MemoryOverwriteRequestFunctionTest >=20 > Cc: G Edhaya Chandran > Cc: Barton Gao > Cc: Carolyn Gjertsen > Signed-off-by: Abhi Singh > Change-Id: I23ba7256441354f497ecdc96a394df5ba5cae8df > --- [cut] > + > + // MORLOCK SetVariable with valid GUID, variable name, Data, and Attri= butes > + // except for invalid DataSize =3D=3D 0 > + // verify SetVariable returns EFI_WRITE_PROTECTED and GetVariable retu= rns a Data Value =3D=3D 0 > + DataSize =3D 0; > + Attributes =3D TCG_MOR_VARIABLE_ATTRIBUTES; > + MemoryOverwriteRequestControlLockData =3D MOR_LOCK_DATA_LOCKED_WITHOUT= _KEY; > + > + Status =3D gtRT->SetVariable ( > + L"MemoryOverwriteRequestControlLock", // Variab= leName > + &gEfiMemoryOverwriteRequestControlLockGuid, // Vendor= Guid > + Attributes, // Attrib= utes > + DataSize, // DataSi= ze > + &MemoryOverwriteRequestControlLockData // Data > + ); > + if (Status =3D=3D EFI_WRITE_PROTECTED) { > + Result =3D EFI_TEST_ASSERTION_PASSED; > + } else { > + Result =3D EFI_TEST_ASSERTION_FAILED; > + } > + > + StandardLib->RecordAssertion ( > + StandardLib, > + Result, > + gTCGMemoryOverwriteRequestTestFunctionAssertionGuid011= , > + L"MemoryOverwriteRequestControlLock - SetVariable() wi= th DataSize =3D=3D 0 returns EFI_WRITE_PROTECTED", > + L"%a:%d:Status - %r", > + __FILE__, > + (UINTN)__LINE__, > + Status > + ); > + > + // change datasize to valid value before GetVariable > + DataSize =3D sizeof(MemoryOverwriteRequestControlLockData); > + Attributes =3D TCG_MOR_VARIABLE_ATTRIBUTES; > + > + // now check that MORLOCK value is still 0x00 or Unlocked > + Status =3D gtRT->GetVariable ( > + L"MemoryOverwriteRequestControlLock", // Variab= leName > + &gEfiMemoryOverwriteRequestControlLockGuid, // Vendor= Guid > + &Attributes, // Attrib= utes > + &DataSize, // DataSi= ze > + &MemoryOverwriteRequestControlLockData // Data > + ); > + if (EFI_ERROR (Status) || (MemoryOverwriteRequestControlLockData !=3D = MOR_LOCK_DATA_UNLOCKED)) { > + Result =3D EFI_TEST_ASSERTION_FAILED; > + } else { > + Result =3D EFI_TEST_ASSERTION_PASSED; > + } > + > + StandardLib->RecordAssertion ( > + StandardLib, > + Result, > + gTCGMemoryOverwriteRequestTestFunctionAssertionGuid012= , > + L"MemoryOverwriteRequestControlLock - Lock value remai= ns Unlocked", > + L"%a:%d:Status - %r", > + __FILE__, > + (UINTN)__LINE__, > + Status > + ); > + > + // MORLOCK SetVariable with valid GUID, variable name, DataSize, and A= ttributes > + // except for Data =3D=3D NULL > + // verify SetVariable returns EFI_INVALID_PARAMETER and GetVariable re= turns a Data Value =3D=3D 0 > + DataSize =3D sizeof(MemoryOverwriteRequestControlLockData); > + Attributes =3D TCG_MOR_VARIABLE_ATTRIBUTES; > + > + Status =3D gtRT->SetVariable ( > + L"MemoryOverwriteRequestControlLock", // Variab= leName > + &gEfiMemoryOverwriteRequestControlLockGuid, // Vendor= Guid > + Attributes, // Attrib= utes > + DataSize, // DataSi= ze > + NULL // Data > + ); > + if (Status =3D=3D EFI_INVALID_PARAMETER) { > + Result =3D EFI_TEST_ASSERTION_PASSED; > + } else { > + Result =3D EFI_TEST_ASSERTION_FAILED; > + } This code checks for EFI_INVALID_PARAMETER, which seems correct. But, it does not match the SCT specification for these tests on the bugzilla ticket, which says that EFI_WRITE_PROTECTED is expected. I think you need to fix the spec. Thanks, Stuart -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#108964): https://edk2.groups.io/g/devel/message/108964 Mute This Topic: https://groups.io/mt/101504339/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-