[edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET instructions to Nasm.inc

Sheng Wei w.sheng at intel.com
Fri Feb 26 01:45:56 UTC 2021


Hi Liming,
Got it. 
The patches are used to fix the bug when enable CET SMM shadow stack feature.
It will cause #DF exception in in some cases.
BR
Sheng Wei 


> -----Original Message-----
> From: gaoliming <gaoliming at byosoft.com.cn>
> Sent: 2021年2月25日 21:45
> To: devel at edk2.groups.io; Sheng, W <w.sheng at intel.com>; Kinney, Michael
> D <michael.d.kinney at intel.com>; Liu, Zhiguang <zhiguang.liu at intel.com>
> Cc: Yao, Jiewen <jiewen.yao at intel.com>
> Subject: 回复: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> instructions to Nasm.inc
> 
> Wei:
>   This is the patch set. They will be merged together, because one patch
> update may impact another one. We don't want to roll back previous commit.
> 
>   Besides, can you give the reason to merge this patch for this stable tag
> 202102? What impact will be caused if this patch is deferred to next stable tag?
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Sheng Wei
> > 发送时间: 2021年2月25日 13:48
> > 收件人: devel at edk2.groups.io; gaoliming at byosoft.com.cn; Kinney,
> Michael D
> > <michael.d.kinney at intel.com>; Liu, Zhiguang <zhiguang.liu at intel.com>
> > 抄送: Yao, Jiewen <jiewen.yao at intel.com>
> > 主题: Re: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> > instructions to Nasm.inc
> >
> > Hi Liming,
> > I would like to merge this fix to catch stable tag 202102.
> > This bug fix includes 2 patches.
> > One [PATCH v5 1/2] is for MdePkg. It only used to add DB format CET
> > instructions to nasm.inc.
> > Another one [PATCH v5 2/2] is for UefiCpuPkg. It is the bug fix
> > itself. The patch will use the DB define in nasm.inc Could you help to
> > merge the one first ?
> > I attached the patch file.
> > Thank you
> > BR
> > Sheng Wei
> >
> > > -----Original Message-----
> > > From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of
> > > gaoliming
> > > Sent: 2021年2月25日 9:53
> > > To: Kinney, Michael D <michael.d.kinney at intel.com>;
> > devel at edk2.groups.io;
> > > Liu, Zhiguang <zhiguang.liu at intel.com>; Sheng, W <w.sheng at intel.com>
> > > Cc: Yao, Jiewen <jiewen.yao at intel.com>
> > > Subject: 回复: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> > > instructions to Nasm.inc
> > >
> > > Mike:
> > >   We agree to increase nasm compiler version after the stable tag.
> > > If this
> > fix
> > > wants to catch stable tag 202102, it has to use hard code DB in Nasm.inc.
> > >
> > > Sheng:
> > >   If this fix doesn't need to catch stable tag 202102, you can
> > > directly send
> > the
> > > patch with nasm command in Nasm.inc.
> > >
> > > Thanks
> > > Liming
> > > > -----邮件原件-----
> > > > 发件人: Kinney, Michael D <michael.d.kinney at intel.com>
> > > > 发送时间: 2021年2月23日 10:22
> > > > 收件人: gaoliming <gaoliming at byosoft.com.cn>;
> devel at edk2.groups.io;
> > > Liu,
> > > > Zhiguang <zhiguang.liu at intel.com>; Sheng, W <w.sheng at intel.com>;
> > > > Kinney, Michael D <michael.d.kinney at intel.com>
> > > > 抄送: Yao, Jiewen <jiewen.yao at intel.com>
> > > > 主题: RE: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> > > > instructions to Nasm.inc
> > > >
> > > > Liming,
> > > >
> > > > I thought we decided against adding macros and instead want to use
> > > > newer NASM version that supports these instructions.
> > > >
> > > > Mike
> > > >
> > > > > -----Original Message-----
> > > > > From: gaoliming <gaoliming at byosoft.com.cn>
> > > > > Sent: Monday, February 22, 2021 5:01 PM
> > > > > To: devel at edk2.groups.io; Liu, Zhiguang
> > > > > <zhiguang.liu at intel.com>; Sheng,
> > > > W <w.sheng at intel.com>
> > > > > Cc: Kinney, Michael D <michael.d.kinney at intel.com>; Yao, Jiewen
> > > > <jiewen.yao at intel.com>
> > > > > Subject: 回复: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> > > > instructions to Nasm.inc
> > > > >
> > > > > Wei:
> > > > >   This is a patch set. If all patches pass the review by the
> > > > > package
> > > > maintainer, I will help merge it.
> > > > >
> > > > >   Seemly, this is a bug fix. So, it can still be merged in
> > > > > 202102 stable tag
> > > > soft feature freeze phase.
> > > > >
> > > > > Thanks
> > > > > Liming
> > > > > > -----邮件原件-----
> > > > > > 发件人: bounce+27952+71908+4905953+8761045 at groups.io
> > > > > > <bounce+27952+71908+4905953+8761045 at groups.io> 代表
> > Zhiguang
> > > > Liu
> > > > > > 发送时间: 2021年2月22日 10:23
> > > > > > 收件人: Sheng, W <w.sheng at intel.com>; gaoliming
> > > > > > <gaoliming at byosoft.com.cn>; devel at edk2.groups.io
> > > > > > 抄送: Kinney, Michael D <michael.d.kinney at intel.com>; Yao,
> > > > > > Jiewen <jiewen.yao at intel.com>
> > > > > > 主题: Re: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> > > > instructions
> > > > > > to Nasm.inc
> > > > > >
> > > > > > Hi Sheng Wei,
> > > > > > I don't have the access to push patch.
> > > > > >
> > > > > > Hi Liming,
> > > > > > Can you help merge this patch? Thanks
> > > > > >
> > > > > > Thanks
> > > > > > Zhiguang
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Sheng, W <w.sheng at intel.com>
> > > > > > > Sent: Monday, February 22, 2021 10:12 AM
> > > > > > > To: gaoliming <gaoliming at byosoft.com.cn>;
> > > > > > > devel at edk2.groups.io; Liu, Zhiguang <zhiguang.liu at intel.com>
> > > > > > > Cc: Kinney, Michael D <michael.d.kinney at intel.com>; Yao,
> > > > > > > Jiewen <jiewen.yao at intel.com>
> > > > > > > Subject: RE: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add
> > > > > > > CET instructions to Nasm.inc
> > > > > > >
> > > > > > > Hi Zhiguang,
> > > > > > > Could you help to merge the patch to the master branch ?
> > > > > > >
> > > > > > > @gaoliming
> > > > > > > Thank you for giving the review-by.
> > > > > > > BR
> > > > > > > Sheng Wei
> > > > > > >
> > > > > > > > -----Original Message-----
> > > > > > > > From: gaoliming <gaoliming at byosoft.com.cn>
> > > > > > > > Sent: 2021年2月20日 13:35
> > > > > > > > To: devel at edk2.groups.io; Sheng, W <w.sheng at intel.com>
> > > > > > > > Cc: Kinney, Michael D <michael.d.kinney at intel.com>; Liu,
> > > > > > > > Zhiguang <zhiguang.liu at intel.com>; Yao, Jiewen
> > > > > > > > <jiewen.yao at intel.com>
> > > > > > > > Subject: 回复: [edk2-devel] [PATCH v5 1/2] MdePkg/Include:
> > > > > > > > Add CET instructions to Nasm.inc
> > > > > > > >
> > > > > > > > Reviewed-by: Liming Gao <gaoliming at byosoft.com.cn>
> > > > > > > >
> > > > > > > > > -----邮件原件-----
> > > > > > > > > 发件人: bounce+27952+71865+4905953+8761045 at groups.io
> > > > > > > > > <bounce+27952+71865+4905953+8761045 at groups.io> 代表
> > > > Sheng
> > > > > > Wei
> > > > > > > > > 发送时间: 2021年2月20日 11:15
> > > > > > > > > 收件人: devel at edk2.groups.io
> > > > > > > > > 抄送: Michael D Kinney <michael.d.kinney at intel.com>;
> > > > > > > > > Liming Gao <gaoliming at byosoft.com.cn>; Zhiguang Liu
> > > > <zhiguang.liu at intel.com>;
> > > > > > > > > Jiewen Yao <jiewen.yao at intel.com>
> > > > > > > > > 主题: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET
> > > > > > instructions
> > > > > > > > > to Nasm.inc
> > > > > > > > >
> > > > > > > > > This is to add instruction SAVEPREVSSP, CLRSSBSY and
> > > > RSTORSSP_RAX in
> > > > > > > > > Nasm.
> > > > > > > > > The open CI is using NASM 2.14.02.
> > > > > > > > > CET instructions are supported since NASM 2.15.01.
> > > > > > > > >
> > > > > > > > > DB-encoded CET instructions need to be removed after
> > > > > > > > > open CI
> > > > update
> > > > > > > > > to NASM 2.15.01.
> > > > > > > > > The BZ ticket is
> > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3227 .
> > > > > > > > >
> > > > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3192
> > > > > > > > >
> > > > > > > > > Signed-off-by: Sheng Wei <w.sheng at intel.com>
> > > > > > > > > Cc: Michael D Kinney <michael.d.kinney at intel.com>
> > > > > > > > > Cc: Liming Gao <gaoliming at byosoft.com.cn>
> > > > > > > > > Cc: Zhiguang Liu <zhiguang.liu at intel.com>
> > > > > > > > > Cc: Jiewen Yao <jiewen.yao at intel.com>
> > > > > > > > > ---
> > > > > > > > >  MdePkg/Include/Ia32/Nasm.inc | 12 ++++++++++++
> > > > > > > > > MdePkg/Include/X64/Nasm.inc  | 12 ++++++++++++
> > > > > > > > >  2 files changed, 24 insertions(+)
> > > > > > > > >
> > > > > > > > > diff --git a/MdePkg/Include/Ia32/Nasm.inc
> > > > > > > > > b/MdePkg/Include/Ia32/Nasm.inc index
> > 31ce861f1e..fa42f9d3e9
> > > > > > 100644
> > > > > > > > > --- a/MdePkg/Include/Ia32/Nasm.inc
> > > > > > > > > +++ b/MdePkg/Include/Ia32/Nasm.inc
> > > > > > > > > @@ -9,6 +9,18 @@
> > > > > > > > >  ;
> > > > > > > > >
> > > > > > > > ;---------------------------------------------------------
> > > > > > > > ----
> > > > > > > > --------
> > > > > > > > ------
> > > > > > > > ---
> > > > > > > > >
> > > > > > > > > +%macro SAVEPREVSSP     0
> > > > > > > > > +    DB 0xF3, 0x0F, 0x01, 0xEA %endmacro
> > > > > > > > > +
> > > > > > > > > +%macro CLRSSBSY_EAX    0
> > > > > > > > > +    DB 0x67, 0xF3, 0x0F, 0xAE, 0x30 %endmacro
> > > > > > > > > +
> > > > > > > > > +%macro RSTORSSP_EAX    0
> > > > > > > > > +    DB 0x67, 0xF3, 0x0F, 0x01, 0x28 %endmacro
> > > > > > > > > +
> > > > > > > > >  %macro SETSSBSY        0
> > > > > > > > >      DB 0xF3, 0x0F, 0x01, 0xE8  %endmacro diff --git
> > > > > > > > > a/MdePkg/Include/X64/Nasm.inc
> > > > > > > > b/MdePkg/Include/X64/Nasm.inc
> > > > > > > > > index 42412735ea..e57a803c81 100644
> > > > > > > > > --- a/MdePkg/Include/X64/Nasm.inc
> > > > > > > > > +++ b/MdePkg/Include/X64/Nasm.inc
> > > > > > > > > @@ -9,6 +9,18 @@
> > > > > > > > >  ;
> > > > > > > > >
> > > > > > > > ;---------------------------------------------------------
> > > > > > > > ----
> > > > > > > > --------
> > > > > > > > ------
> > > > > > > > ---
> > > > > > > > >
> > > > > > > > > +%macro SAVEPREVSSP     0
> > > > > > > > > +    DB 0xF3, 0x0F, 0x01, 0xEA %endmacro
> > > > > > > > > +
> > > > > > > > > +%macro CLRSSBSY_RAX    0
> > > > > > > > > +    DB 0xF3, 0x0F, 0xAE, 0x30 %endmacro
> > > > > > > > > +
> > > > > > > > > +%macro RSTORSSP_RAX    0
> > > > > > > > > +    DB 0xF3, 0x0F, 0x01, 0x28 %endmacro
> > > > > > > > > +
> > > > > > > > >  %macro SETSSBSY        0
> > > > > > > > >      DB 0xF3, 0x0F, 0x01, 0xE8  %endmacro
> > > > > > > > > --
> > > > > > > > > 2.16.2.windows.1
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> > 
> >
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#72215): https://edk2.groups.io/g/devel/message/72215
Mute This Topic: https://groups.io/mt/80918196/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