public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sheng Wei" <w.sheng@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"gaoliming@byosoft.com.cn" <gaoliming@byosoft.com.cn>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>
Cc: "Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add CET instructions to Nasm.inc
Date: Thu, 25 Feb 2021 05:48:01 +0000	[thread overview]
Message-ID: <MN2PR11MB4479A6745F8D3F3B005CC6D5E19E9@MN2PR11MB4479.namprd11.prod.outlook.com> (raw)
In-Reply-To: <005101d70b18$f672fa90$e358efb0$@byosoft.com.cn>

[-- Attachment #1: Type: text/plain, Size: 8424 bytes --]

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@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> gaoliming
> Sent: 2021年2月25日 9:53
> To: Kinney, Michael D <michael.d.kinney@intel.com>; devel@edk2.groups.io;
> Liu, Zhiguang <zhiguang.liu@intel.com>; Sheng, W <w.sheng@intel.com>
> Cc: Yao, Jiewen <jiewen.yao@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@intel.com>
> > 发送时间: 2021年2月23日 10:22
> > 收件人: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io;
> Liu,
> > Zhiguang <zhiguang.liu@intel.com>; Sheng, W <w.sheng@intel.com>;
> > Kinney, Michael D <michael.d.kinney@intel.com>
> > 抄送: Yao, Jiewen <jiewen.yao@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@byosoft.com.cn>
> > > Sent: Monday, February 22, 2021 5:01 PM
> > > To: devel@edk2.groups.io; Liu, Zhiguang <zhiguang.liu@intel.com>;
> > > Sheng,
> > W <w.sheng@intel.com>
> > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Yao, Jiewen
> > <jiewen.yao@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@groups.io
> > > > <bounce+27952+71908+4905953+8761045@groups.io> 代表 Zhiguang
> > Liu
> > > > 发送时间: 2021年2月22日 10:23
> > > > 收件人: Sheng, W <w.sheng@intel.com>; gaoliming
> > > > <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
> > > > 抄送: Kinney, Michael D <michael.d.kinney@intel.com>; Yao, Jiewen
> > > > <jiewen.yao@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@intel.com>
> > > > > Sent: Monday, February 22, 2021 10:12 AM
> > > > > To: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io;
> > > > > Liu, Zhiguang <zhiguang.liu@intel.com>
> > > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Yao, Jiewen
> > > > > <jiewen.yao@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@byosoft.com.cn>
> > > > > > Sent: 2021年2月20日 13:35
> > > > > > To: devel@edk2.groups.io; Sheng, W <w.sheng@intel.com>
> > > > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liu,
> > > > > > Zhiguang <zhiguang.liu@intel.com>; Yao, Jiewen
> > > > > > <jiewen.yao@intel.com>
> > > > > > Subject: 回复: [edk2-devel] [PATCH v5 1/2] MdePkg/Include: Add
> > > > > > CET instructions to Nasm.inc
> > > > > >
> > > > > > Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
> > > > > >
> > > > > > > -----邮件原件-----
> > > > > > > 发件人: bounce+27952+71865+4905953+8761045@groups.io
> > > > > > > <bounce+27952+71865+4905953+8761045@groups.io> 代表
> > Sheng
> > > > Wei
> > > > > > > 发送时间: 2021年2月20日 11:15
> > > > > > > 收件人: devel@edk2.groups.io
> > > > > > > 抄送: Michael D Kinney <michael.d.kinney@intel.com>; Liming
> > > > > > > Gao <gaoliming@byosoft.com.cn>; Zhiguang Liu
> > <zhiguang.liu@intel.com>;
> > > > > > > Jiewen Yao <jiewen.yao@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@intel.com>
> > > > > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > > > > > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > > > > > > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > > > > > > Cc: Jiewen Yao <jiewen.yao@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
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> 
> 
> 
> 
> 
> 
> 


[-- Attachment #2: 0001-MdePkg-Include-Add-CET-instructions-to-Nasm.inc.patch --]
[-- Type: application/octet-stream, Size: 2151 bytes --]

From 78006fd0ca045c92ec91337cc2c8cadc93e09a70 Mon Sep 17 00:00:00 2001
From: Sheng Wei <w.sheng@intel.com>
Date: Tue, 26 Jan 2021 16:54:15 +0800
Subject: [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@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
---
 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


  reply	other threads:[~2021-02-25  5:48 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-20  3:14 [PATCH v5 0/2] Fix CET shadow stack token busy bit clear issue Sheng Wei
2021-02-20  3:15 ` [PATCH v5 1/2] MdePkg/Include: Add CET instructions to Nasm.inc Sheng Wei
2021-02-20  5:35   ` 回复: [edk2-devel] " gaoliming
2021-02-22  2:12     ` Sheng Wei
2021-02-22  2:22       ` Zhiguang Liu
2021-02-23  1:01         ` 回复: " gaoliming
2021-02-23  2:21           ` Michael D Kinney
2021-02-25  1:53             ` 回复: " gaoliming
2021-02-25  5:48               ` Sheng Wei [this message]
2021-02-25 13:44                 ` gaoliming
2021-02-26  1:45                   ` Sheng Wei
2021-03-01  5:20                   ` Sheng Wei
2021-03-01  8:07                     ` 回复: " gaoliming
     [not found]                     ` <16682970DB33FFC1.25260@groups.io>
2021-03-02  1:42                       ` gaoliming
2021-03-02  4:53                         ` Sheng Wei
2021-02-26  1:47   ` Yao, Jiewen
2021-02-20  3:15 ` [PATCH v5 2/2] UefiCpuPkg/CpuExceptionHandlerLib: Clear CET shadow stack token busy bit Sheng Wei
2021-02-26  1:47   ` [edk2-devel] " Yao, Jiewen
     [not found] ` <1665564E9CEC9D4A.5517@groups.io>
2021-02-22  2:15   ` Sheng Wei
     [not found]   ` <1665F02F00621E09.19946@groups.io>
2021-02-23  7:51     ` Sheng Wei
     [not found]     ` <166651222AB8BC36.9724@groups.io>
2021-02-25  5:57       ` Sheng Wei
2021-02-26  1:48         ` Yao, Jiewen

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=MN2PR11MB4479A6745F8D3F3B005CC6D5E19E9@MN2PR11MB4479.namprd11.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