* [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM @ 2024-02-26 21:18 sunceping 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping ` (3 more replies) 0 siblings, 4 replies; 14+ messages in thread From: sunceping @ 2024-02-26 21:18 UTC (permalink / raw) To: devel Cc: Ceping Sun, Liming Gao, Michael D Kinney, Erdem Aktas, James Bottomley, Jiewen Yao, Min Xu, Tom Lendacky, Michael Roth, Gerd Hoffmann, Isaku Yamahata REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 According to section 2.4.1 of [GHCI] spec, RBP register is usually used as a frame pointer according to the C language calling convention. The software should not use RBP as an input/output parameter and should clear BIT5 (RBP) in the GPR mask in RCX. Reference: [GHCI]: TDX Guest-Host-Communication Interface v1.5 https://cdrdv2.intel.com/v1/dl/getContent/726792 Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Michael Roth <michael.roth@amd.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Isaku Yamahata <isaku.yamahata@intel.com> Signed-off-by: Ceping Sun <cepingx.sun@intel.com> Ceping Sun (3): MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK OvmfPkg/CcExitLib: Update TDVMCALL_EXPOSE_REGS_MASK OvmfPkg/TdxDxe: Clear the registers before tdcall MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- .../Library/CcExitLib/X64/TdVmcallCpuid.nasm | 2 +- OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 30 ++++++++++++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115941): https://edk2.groups.io/g/devel/message/115941 Mute This Topic: https://groups.io/mt/104577516/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-02-26 21:18 [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM sunceping @ 2024-02-26 21:18 ` sunceping 2024-03-04 1:09 ` Min Xu ` (2 more replies) 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 2/3] OvmfPkg/CcExitLib: " sunceping ` (2 subsequent siblings) 3 siblings, 3 replies; 14+ messages in thread From: sunceping @ 2024-02-26 21:18 UTC (permalink / raw) To: devel Cc: Ceping Sun, Liming Gao, Michael D Kinney, Erdem Aktas, James Bottomley, Jiewen Yao, Min Xu, Tom Lendacky, Michael Roth, Isaku Yamahata REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. Reference: [GHCI]: TDX Guest-Host-Communication Interface v1.5 https://cdrdv2.intel.com/v1/dl/getContent/726792 Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Michael Roth <michael.roth@amd.com> Cc: Isaku Yamahata <isaku.yamahata@intel.com> Signed-off-by: Ceping Sun <cepingx.sun@intel.com> --- MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm index 8dd9bfcbfa14..b20724a37015 100644 --- a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm +++ b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm @@ -9,7 +9,7 @@ DEFAULT REL SECTION .text -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc %define TDVMCALL 0x0 %macro tdcall 0 -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115942): https://edk2.groups.io/g/devel/message/115942 Mute This Topic: https://groups.io/mt/104577519/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping @ 2024-03-04 1:09 ` Min Xu 2024-03-04 3:22 ` sunceping 2024-03-14 14:33 ` 回复: " gaoliming via groups.io 2 siblings, 0 replies; 14+ messages in thread From: Min Xu @ 2024-03-04 1:09 UTC (permalink / raw) To: Sun, CepingX, devel@edk2.groups.io Cc: Liming Gao, Kinney, Michael D, Aktas, Erdem, James Bottomley, Yao, Jiewen, Tom Lendacky, Michael Roth, Yamahata, Isaku Reviewed-by: Min Xu <min.m.xu@intel.com> > -----Original Message----- > From: Sun, CepingX <cepingx.sun@intel.com> > Sent: Tuesday, February 27, 2024 5:19 AM > To: devel@edk2.groups.io > Cc: Sun, CepingX <cepingx.sun@intel.com>; Liming Gao > <gaoliming@byosoft.com.cn>; Kinney, Michael D > <michael.d.kinney@intel.com>; Aktas, Erdem <erdemaktas@google.com>; > James Bottomley <jejb@linux.ibm.com>; Yao, Jiewen > <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom Lendacky > <thomas.lendacky@amd.com>; Michael Roth <michael.roth@amd.com>; > Yamahata, Isaku <isaku.yamahata@intel.com> > Subject: [PATCH V1 1/3] MdePkg/BaseLib: Update > TDVMCALL_EXPOSE_REGS_MASK > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > --- > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > index 8dd9bfcbfa14..b20724a37015 100644 > --- a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > +++ b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > @@ -9,7 +9,7 @@ > DEFAULT REL > SECTION .text > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > %define TDVMCALL 0x0 > > %macro tdcall 0 > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116293): https://edk2.groups.io/g/devel/message/116293 Mute This Topic: https://groups.io/mt/104577519/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping 2024-03-04 1:09 ` Min Xu @ 2024-03-04 3:22 ` sunceping 2024-03-13 7:32 ` sunceping 2024-03-14 14:33 ` 回复: " gaoliming via groups.io 2 siblings, 1 reply; 14+ messages in thread From: sunceping @ 2024-03-04 3:22 UTC (permalink / raw) To: Liming Gao, Kinney, Michael D, devel@edk2.groups.io, Sun, CepingX Cc: Aktas, Erdem, James Bottomley, Yao, Jiewen, Xu, Min M, Tom Lendacky, Michael Roth, Yamahata, Isaku Ping @Gao, Liming, @Kinney, Michael D Hi Liming and Mike Would you please review the MdePkg update? Thanks Ceping > -----Original Message----- > From: Sun, CepingX <cepingx.sun@intel.com> > Sent: Tuesday, February 27, 2024 5:19 AM > To: devel@edk2.groups.io > Cc: Sun, CepingX <cepingx.sun@intel.com>; Liming Gao > <gaoliming@byosoft.com.cn>; Kinney, Michael D > <michael.d.kinney@intel.com>; Aktas, Erdem <erdemaktas@google.com>; > James Bottomley <jejb@linux.ibm.com>; Yao, Jiewen > <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom Lendacky > <thomas.lendacky@amd.com>; Michael Roth <michael.roth@amd.com>; > Yamahata, Isaku <isaku.yamahata@intel.com> > Subject: [PATCH V1 1/3] MdePkg/BaseLib: Update > TDVMCALL_EXPOSE_REGS_MASK > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > --- > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > index 8dd9bfcbfa14..b20724a37015 100644 > --- a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > +++ b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > @@ -9,7 +9,7 @@ > DEFAULT REL > SECTION .text > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > %define TDVMCALL 0x0 > > %macro tdcall 0 > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116302): https://edk2.groups.io/g/devel/message/116302 Mute This Topic: https://groups.io/mt/104577519/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-03-04 3:22 ` sunceping @ 2024-03-13 7:32 ` sunceping 0 siblings, 0 replies; 14+ messages in thread From: sunceping @ 2024-03-13 7:32 UTC (permalink / raw) To: Liming Gao, Kinney, Michael D, devel@edk2.groups.io Cc: Aktas, Erdem, James Bottomley, Yao, Jiewen, Xu, Min M, Tom Lendacky, Michael Roth, Yamahata, Isaku @Liming Gao @Kinney, Michael D This patch has been submitted for review over two weeks. May I have your comments about the patch? Thanks Ceping > -----Original Message----- > From: Sun, CepingX <cepingx.sun@intel.com> > Sent: Monday, March 4, 2024 11:23 AM > To: Liming Gao <gaoliming@byosoft.com.cn>; Kinney, Michael D > <michael.d.kinney@intel.com>; devel@edk2.groups.io; Sun, CepingX > <cepingx.sun@intel.com> > Cc: Aktas, Erdem <erdemaktas@google.com>; James Bottomley > <jejb@linux.ibm.com>; Yao, Jiewen <jiewen.yao@intel.com>; Xu, Min M > <min.m.xu@intel.com>; Tom Lendacky <thomas.lendacky@amd.com>; > Michael Roth <michael.roth@amd.com>; Yamahata, Isaku > <isaku.yamahata@intel.com> > Subject: RE: [PATCH V1 1/3] MdePkg/BaseLib: Update > TDVMCALL_EXPOSE_REGS_MASK > > Ping @Gao, Liming, @Kinney, Michael D > Hi Liming and Mike > Would you please review the MdePkg update? > > Thanks > Ceping > > > -----Original Message----- > > From: Sun, CepingX <cepingx.sun@intel.com> > > Sent: Tuesday, February 27, 2024 5:19 AM > > To: devel@edk2.groups.io > > Cc: Sun, CepingX <cepingx.sun@intel.com>; Liming Gao > > <gaoliming@byosoft.com.cn>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Aktas, Erdem <erdemaktas@google.com>; > > James Bottomley <jejb@linux.ibm.com>; Yao, Jiewen > > <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom Lendacky > > <thomas.lendacky@amd.com>; Michael Roth <michael.roth@amd.com>; > > Yamahata, Isaku <isaku.yamahata@intel.com> > > Subject: [PATCH V1 1/3] MdePkg/BaseLib: Update > > TDVMCALL_EXPOSE_REGS_MASK > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > > > > Reference: > > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > > Cc: Erdem Aktas <erdemaktas@google.com> > > Cc: James Bottomley <jejb@linux.ibm.com> > > Cc: Jiewen Yao <jiewen.yao@intel.com> > > Cc: Min Xu <min.m.xu@intel.com> > > Cc: Tom Lendacky <thomas.lendacky@amd.com> > > Cc: Michael Roth <michael.roth@amd.com> > > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > > --- > > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > > b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > > index 8dd9bfcbfa14..b20724a37015 100644 > > --- a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > > +++ b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > > @@ -9,7 +9,7 @@ > > DEFAULT REL > > SECTION .text > > > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > > %define TDVMCALL 0x0 > > > > %macro tdcall 0 > > -- > > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116709): https://edk2.groups.io/g/devel/message/116709 Mute This Topic: https://groups.io/mt/104577519/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* 回复: [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping 2024-03-04 1:09 ` Min Xu 2024-03-04 3:22 ` sunceping @ 2024-03-14 14:33 ` gaoliming via groups.io 2 siblings, 0 replies; 14+ messages in thread From: gaoliming via groups.io @ 2024-03-14 14:33 UTC (permalink / raw) To: devel, cepingx.sun Cc: 'Michael D Kinney', 'Erdem Aktas', 'James Bottomley', 'Jiewen Yao', 'Min Xu', 'Tom Lendacky', 'Michael Roth', 'Isaku Yamahata' Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 sunceping > 发送时间: 2024年2月27日 5:19 > 收件人: devel@edk2.groups.io > 抄送: Ceping Sun <cepingx.sun@intel.com>; Liming Gao > <gaoliming@byosoft.com.cn>; Michael D Kinney > <michael.d.kinney@intel.com>; Erdem Aktas <erdemaktas@google.com>; > James Bottomley <jejb@linux.ibm.com>; Jiewen Yao <jiewen.yao@intel.com>; > Min Xu <min.m.xu@intel.com>; Tom Lendacky > <thomas.lendacky@amd.com>; Michael Roth <michael.roth@amd.com>; > Isaku Yamahata <isaku.yamahata@intel.com> > 主题: [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update > TDVMCALL_EXPOSE_REGS_MASK > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > --- > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > index 8dd9bfcbfa14..b20724a37015 100644 > --- a/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > +++ b/MdePkg/Library/BaseLib/X64/TdVmcall.nasm > @@ -9,7 +9,7 @@ > DEFAULT REL > SECTION .text > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > %define TDVMCALL 0x0 > > %macro tdcall 0 > -- > 2.34.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116754): https://edk2.groups.io/g/devel/message/116754 Mute This Topic: https://groups.io/mt/104927472/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* [edk2-devel] [PATCH V1 2/3] OvmfPkg/CcExitLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-02-26 21:18 [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM sunceping 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping @ 2024-02-26 21:18 ` sunceping 2024-03-04 1:09 ` Min Xu 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall sunceping 2024-02-27 6:48 ` [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM Min Xu 3 siblings, 1 reply; 14+ messages in thread From: sunceping @ 2024-02-26 21:18 UTC (permalink / raw) To: devel Cc: Ceping Sun, Erdem Aktas, James Bottomley, Jiewen Yao, Min Xu, Tom Lendacky, Michael Roth, Gerd Hoffmann, Isaku Yamahata REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. Reference: [GHCI]: TDX Guest-Host-Communication Interface v1.5 https://cdrdv2.intel.com/v1/dl/getContent/726792 Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Michael Roth <michael.roth@amd.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Isaku Yamahata <isaku.yamahata@intel.com> Signed-off-by: Ceping Sun <cepingx.sun@intel.com> --- OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm b/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm index fa86440904fe..c9c007352e8d 100644 --- a/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm +++ b/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm @@ -9,7 +9,7 @@ DEFAULT REL SECTION .text -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc %define TDVMCALL 0x0 %define EXIT_REASON_CPUID 0xa -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115943): https://edk2.groups.io/g/devel/message/115943 Mute This Topic: https://groups.io/mt/104577520/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 2/3] OvmfPkg/CcExitLib: Update TDVMCALL_EXPOSE_REGS_MASK 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 2/3] OvmfPkg/CcExitLib: " sunceping @ 2024-03-04 1:09 ` Min Xu 0 siblings, 0 replies; 14+ messages in thread From: Min Xu @ 2024-03-04 1:09 UTC (permalink / raw) To: Sun, CepingX, devel@edk2.groups.io Cc: Aktas, Erdem, James Bottomley, Yao, Jiewen, Tom Lendacky, Michael Roth, Gerd Hoffmann, Yamahata, Isaku Reviewed-by: Min Xu <min.m.xu@intel.com> > -----Original Message----- > From: Sun, CepingX <cepingx.sun@intel.com> > Sent: Tuesday, February 27, 2024 5:19 AM > To: devel@edk2.groups.io > Cc: Sun, CepingX <cepingx.sun@intel.com>; Aktas, Erdem > <erdemaktas@google.com>; James Bottomley <jejb@linux.ibm.com>; Yao, > Jiewen <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom > Lendacky <thomas.lendacky@amd.com>; Michael Roth > <michael.roth@amd.com>; Gerd Hoffmann <kraxel@redhat.com>; > Yamahata, Isaku <isaku.yamahata@intel.com> > Subject: [PATCH V1 2/3] OvmfPkg/CcExitLib: Update > TDVMCALL_EXPOSE_REGS_MASK > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > --- > OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm > b/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm > index fa86440904fe..c9c007352e8d 100644 > --- a/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm > +++ b/OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm > @@ -9,7 +9,7 @@ > DEFAULT REL > SECTION .text > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > %define TDVMCALL 0x0 > %define EXIT_REASON_CPUID 0xa > > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116295): https://edk2.groups.io/g/devel/message/116295 Mute This Topic: https://groups.io/mt/104577520/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall 2024-02-26 21:18 [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM sunceping 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 2/3] OvmfPkg/CcExitLib: " sunceping @ 2024-02-26 21:18 ` sunceping 2024-02-27 12:25 ` Isaku Yamahata 2024-03-04 1:09 ` Min Xu 2024-02-27 6:48 ` [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM Min Xu 3 siblings, 2 replies; 14+ messages in thread From: sunceping @ 2024-02-26 21:18 UTC (permalink / raw) To: devel Cc: Ceping Sun, Erdem Aktas, James Bottomley, Jiewen Yao, Min Xu, Tom Lendacky, Michael Roth, Gerd Hoffmann, Isaku Yamahata REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. And TDVF should clear the regitsers to avoid leaking secrets to VMM. Reference: [GHCI]: TDX Guest-Host-Communication Interface v1.5 https://cdrdv2.intel.com/v1/dl/getContent/726792 Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Michael Roth <michael.roth@amd.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: Isaku Yamahata <isaku.yamahata@intel.com> Signed-off-by: Ceping Sun <cepingx.sun@intel.com> --- OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm index 0bef89c48552..57560015f491 100644 --- a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm +++ b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm @@ -20,7 +20,7 @@ SECTION .text BITS 64 -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc %define TDVMCALL 0x0 %define EXIT_REASON_CPUID 0xa @@ -28,6 +28,30 @@ BITS 64 db 0x66, 0x0f, 0x01, 0xcc %endmacro +%macro tdcall_regs_preamble 2 + mov rax, %1 + + xor rcx, rcx + mov ecx, %2 + + ; R10 = 0 (standard TDVMCALL) + + xor r10d, r10d + + ; Zero out unused (for standard TDVMCALL) registers to avoid leaking + ; secrets to the VMM. + + xor esi, esi + xor edi, edi + + xor edx, edx + xor ebp, ebp + xor r8d, r8d + xor r9d, r9d + xor r14, r14 + xor r15, r15 +%endmacro + ; ; Relocated Ap Mailbox loop ; @@ -40,11 +64,9 @@ global ASM_PFX(AsmRelocateApMailBoxLoop) ASM_PFX(AsmRelocateApMailBoxLoop): AsmRelocateApMailBoxLoopStart: - mov rax, TDVMCALL - mov rcx, TDVMCALL_EXPOSE_REGS_MASK - xor r10, r10 mov r11, EXIT_REASON_CPUID mov r12, 0xb + tdcall_regs_preamble TDVMCALL, TDVMCALL_EXPOSE_REGS_MASK tdcall test r10, r10 jnz Panic -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115944): https://edk2.groups.io/g/devel/message/115944 Mute This Topic: https://groups.io/mt/104577524/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall sunceping @ 2024-02-27 12:25 ` Isaku Yamahata 2024-02-28 8:27 ` sunceping 2024-03-04 1:09 ` Min Xu 1 sibling, 1 reply; 14+ messages in thread From: Isaku Yamahata @ 2024-02-27 12:25 UTC (permalink / raw) To: Sun, CepingX, devel@edk2.groups.io Cc: Aktas, Erdem, James Bottomley, Yao, Jiewen, Xu, Min M, Tom Lendacky, Michael Roth, Gerd Hoffmann, Yamahata, Isaku > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > And TDVF should clear the regitsers to avoid leaking secrets to VMM. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > --- > OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 30 ++++++++++++++++++++++++++---- > 1 file changed, 26 insertions(+), 4 deletions(-) > > diff --git a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > index 0bef89c48552..57560015f491 100644 > --- a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > +++ b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > @@ -20,7 +20,7 @@ SECTION .text > > BITS 64 > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > %define TDVMCALL 0x0 > %define EXIT_REASON_CPUID 0xa > > @@ -28,6 +28,30 @@ BITS 64 > db 0x66, 0x0f, 0x01, 0xcc > %endmacro > > +%macro tdcall_regs_preamble 2 > + mov rax, %1 > + > + xor rcx, rcx > + mov ecx, %2 > + > + ; R10 = 0 (standard TDVMCALL) > + > + xor r10d, r10d > + > + ; Zero out unused (for standard TDVMCALL) registers to avoid leaking > + ; secrets to the VMM. > + > + xor esi, esi > + xor edi, edi > + > + xor edx, edx > + xor ebp, ebp > + xor r8d, r8d > + xor r9d, r9d > + xor r14, r14 > + xor r15, r15 We can just clear the corresponding bit of TDVMCALL_EXPOSE_REGS_MASK in addition to RBP. Same to 1/3 and 3/3. We can eliminate tdcall_regs_postamble. Any reason to bother to zero those registers and pass them to VMM? Thanks, -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116035): https://edk2.groups.io/g/devel/message/116035 Mute This Topic: https://groups.io/mt/104577524/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall 2024-02-27 12:25 ` Isaku Yamahata @ 2024-02-28 8:27 ` sunceping 0 siblings, 0 replies; 14+ messages in thread From: sunceping @ 2024-02-28 8:27 UTC (permalink / raw) To: Yamahata, Isaku, devel@edk2.groups.io Cc: Aktas, Erdem, James Bottomley, Yao, Jiewen, Xu, Min M, Tom Lendacky, Michael Roth, Gerd Hoffmann On Tuesday, February 27, 2024 8:26 PM Yamahata, Isaku wrote: > > +%macro tdcall_regs_preamble 2 > > + mov rax, %1 > > + > > + xor rcx, rcx > > + mov ecx, %2 > > + > > + ; R10 = 0 (standard TDVMCALL) > > + > > + xor r10d, r10d > > + > > + ; Zero out unused (for standard TDVMCALL) registers to avoid leaking > > + ; secrets to the VMM. > > + > > + xor esi, esi > > + xor edi, edi > > + > > + xor edx, edx > > + xor ebp, ebp > > + xor r8d, r8d > > + xor r9d, r9d > > + xor r14, r14 > > + xor r15, r15 > > We can just clear the corresponding bit of TDVMCALL_EXPOSE_REGS_MASK in > addition to RBP. > Same to 1/3 and 3/3. We can eliminate tdcall_regs_postamble. > Any reason to bother to zero those registers and pass them to VMM? > Zero out these registers to avoid leaking secrets to the VMM. There are also some registers (e.g., r10, r14...... etc.) are output operands and should be cleared. The tdcall_regs_preamble was already using in the TdVmcall.nasm and TdVmcallCpuid.nasm . For the ApRunLoop.nasm , it is fixed now. Thanks Ceping -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116096): https://edk2.groups.io/g/devel/message/116096 Mute This Topic: https://groups.io/mt/104577524/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall sunceping 2024-02-27 12:25 ` Isaku Yamahata @ 2024-03-04 1:09 ` Min Xu 1 sibling, 0 replies; 14+ messages in thread From: Min Xu @ 2024-03-04 1:09 UTC (permalink / raw) To: Sun, CepingX, devel@edk2.groups.io Cc: Aktas, Erdem, James Bottomley, Yao, Jiewen, Tom Lendacky, Michael Roth, Gerd Hoffmann, Yamahata, Isaku Reviewed-by: Min Xu <min.m.xu@intel.com> > -----Original Message----- > From: Sun, CepingX <cepingx.sun@intel.com> > Sent: Tuesday, February 27, 2024 5:19 AM > To: devel@edk2.groups.io > Cc: Sun, CepingX <cepingx.sun@intel.com>; Aktas, Erdem > <erdemaktas@google.com>; James Bottomley <jejb@linux.ibm.com>; Yao, > Jiewen <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom > Lendacky <thomas.lendacky@amd.com>; Michael Roth > <michael.roth@amd.com>; Gerd Hoffmann <kraxel@redhat.com>; > Yamahata, Isaku <isaku.yamahata@intel.com> > Subject: [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > Refer to the [GHCI] spec, TDVF should clear the BIT5 for RBP in the mask. > And TDVF should clear the regitsers to avoid leaking secrets to VMM. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > --- > OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 30 > ++++++++++++++++++++++++++---- > 1 file changed, 26 insertions(+), 4 deletions(-) > > diff --git a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > index 0bef89c48552..57560015f491 100644 > --- a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > +++ b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm > @@ -20,7 +20,7 @@ SECTION .text > > BITS 64 > > -%define TDVMCALL_EXPOSE_REGS_MASK 0xffec > +%define TDVMCALL_EXPOSE_REGS_MASK 0xffcc > %define TDVMCALL 0x0 > %define EXIT_REASON_CPUID 0xa > > @@ -28,6 +28,30 @@ BITS 64 > db 0x66, 0x0f, 0x01, 0xcc > %endmacro > > +%macro tdcall_regs_preamble 2 > + mov rax, %1 > + > + xor rcx, rcx > + mov ecx, %2 > + > + ; R10 = 0 (standard TDVMCALL) > + > + xor r10d, r10d > + > + ; Zero out unused (for standard TDVMCALL) registers to avoid leaking > + ; secrets to the VMM. > + > + xor esi, esi > + xor edi, edi > + > + xor edx, edx > + xor ebp, ebp > + xor r8d, r8d > + xor r9d, r9d > + xor r14, r14 > + xor r15, r15 > +%endmacro > + > ; > ; Relocated Ap Mailbox loop > ; > @@ -40,11 +64,9 @@ global ASM_PFX(AsmRelocateApMailBoxLoop) > ASM_PFX(AsmRelocateApMailBoxLoop): > AsmRelocateApMailBoxLoopStart: > > - mov rax, TDVMCALL > - mov rcx, TDVMCALL_EXPOSE_REGS_MASK > - xor r10, r10 > mov r11, EXIT_REASON_CPUID > mov r12, 0xb > + tdcall_regs_preamble TDVMCALL, TDVMCALL_EXPOSE_REGS_MASK > tdcall > test r10, r10 > jnz Panic > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116294): https://edk2.groups.io/g/devel/message/116294 Mute This Topic: https://groups.io/mt/104577524/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM 2024-02-26 21:18 [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM sunceping ` (2 preceding siblings ...) 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall sunceping @ 2024-02-27 6:48 ` Min Xu 2024-03-12 5:53 ` Yao, Jiewen 3 siblings, 1 reply; 14+ messages in thread From: Min Xu @ 2024-02-27 6:48 UTC (permalink / raw) To: Sun, CepingX, devel@edk2.groups.io Cc: Liming Gao, Kinney, Michael D, Aktas, Erdem, James Bottomley, Yao, Jiewen, Tom Lendacky, Michael Roth, Gerd Hoffmann, Yamahata, Isaku Reviewed-by: Min Xu <min.m.xu@intel.com> > -----Original Message----- > From: Sun, CepingX <cepingx.sun@intel.com> > Sent: Tuesday, February 27, 2024 5:19 AM > To: devel@edk2.groups.io > Cc: Sun, CepingX <cepingx.sun@intel.com>; Liming Gao > <gaoliming@byosoft.com.cn>; Kinney, Michael D > <michael.d.kinney@intel.com>; Aktas, Erdem <erdemaktas@google.com>; > James Bottomley <jejb@linux.ibm.com>; Yao, Jiewen > <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom Lendacky > <thomas.lendacky@amd.com>; Michael Roth <michael.roth@amd.com>; > Gerd Hoffmann <kraxel@redhat.com>; Yamahata, Isaku > <isaku.yamahata@intel.com> > Subject: [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets > to the VMM > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > According to section 2.4.1 of [GHCI] spec, RBP register is usually used as a > frame pointer according to the C language calling convention. > The software should not use RBP as an input/output parameter and should > clear BIT5 (RBP) in the GPR mask in RCX. > > Reference: > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Erdem Aktas <erdemaktas@google.com> > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Michael Roth <michael.roth@amd.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > > Ceping Sun (3): > MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK > OvmfPkg/CcExitLib: Update TDVMCALL_EXPOSE_REGS_MASK > OvmfPkg/TdxDxe: Clear the registers before tdcall > > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- > .../Library/CcExitLib/X64/TdVmcallCpuid.nasm | 2 +- > OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 30 ++++++++++++++++--- > 3 files changed, 28 insertions(+), 6 deletions(-) > > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116006): https://edk2.groups.io/g/devel/message/116006 Mute This Topic: https://groups.io/mt/104577516/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM 2024-02-27 6:48 ` [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM Min Xu @ 2024-03-12 5:53 ` Yao, Jiewen 0 siblings, 0 replies; 14+ messages in thread From: Yao, Jiewen @ 2024-03-12 5:53 UTC (permalink / raw) To: Xu, Min M, Sun, CepingX, devel@edk2.groups.io Cc: Liming Gao, Kinney, Michael D, Aktas, Erdem, James Bottomley, Tom Lendacky, Michael Roth, Gerd Hoffmann, Yamahata, Isaku Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com> > -----Original Message----- > From: Xu, Min M <min.m.xu@intel.com> > Sent: Tuesday, February 27, 2024 2:49 PM > To: Sun, CepingX <cepingx.sun@intel.com>; devel@edk2.groups.io > Cc: Liming Gao <gaoliming@byosoft.com.cn>; Kinney, Michael D > <michael.d.kinney@intel.com>; Aktas, Erdem <erdemaktas@google.com>; James > Bottomley <jejb@linux.ibm.com>; Yao, Jiewen <jiewen.yao@intel.com>; Tom > Lendacky <thomas.lendacky@amd.com>; Michael Roth > <michael.roth@amd.com>; Gerd Hoffmann <kraxel@redhat.com>; Yamahata, > Isaku <isaku.yamahata@intel.com> > Subject: RE: [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets > to the VMM > > Reviewed-by: Min Xu <min.m.xu@intel.com> > > > -----Original Message----- > > From: Sun, CepingX <cepingx.sun@intel.com> > > Sent: Tuesday, February 27, 2024 5:19 AM > > To: devel@edk2.groups.io > > Cc: Sun, CepingX <cepingx.sun@intel.com>; Liming Gao > > <gaoliming@byosoft.com.cn>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Aktas, Erdem <erdemaktas@google.com>; > > James Bottomley <jejb@linux.ibm.com>; Yao, Jiewen > > <jiewen.yao@intel.com>; Xu, Min M <min.m.xu@intel.com>; Tom Lendacky > > <thomas.lendacky@amd.com>; Michael Roth <michael.roth@amd.com>; > > Gerd Hoffmann <kraxel@redhat.com>; Yamahata, Isaku > > <isaku.yamahata@intel.com> > > Subject: [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets > > to the VMM > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4696 > > > > According to section 2.4.1 of [GHCI] spec, RBP register is usually used as a > > frame pointer according to the C language calling convention. > > The software should not use RBP as an input/output parameter and should > > clear BIT5 (RBP) in the GPR mask in RCX. > > > > Reference: > > [GHCI]: TDX Guest-Host-Communication Interface v1.5 > > https://cdrdv2.intel.com/v1/dl/getContent/726792 > > > > > > Cc: Liming Gao <gaoliming@byosoft.com.cn> > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > > Cc: Erdem Aktas <erdemaktas@google.com> > > Cc: James Bottomley <jejb@linux.ibm.com> > > Cc: Jiewen Yao <jiewen.yao@intel.com> > > Cc: Min Xu <min.m.xu@intel.com> > > Cc: Tom Lendacky <thomas.lendacky@amd.com> > > Cc: Michael Roth <michael.roth@amd.com> > > Cc: Gerd Hoffmann <kraxel@redhat.com> > > Cc: Isaku Yamahata <isaku.yamahata@intel.com> > > Signed-off-by: Ceping Sun <cepingx.sun@intel.com> > > > > Ceping Sun (3): > > MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK > > OvmfPkg/CcExitLib: Update TDVMCALL_EXPOSE_REGS_MASK > > OvmfPkg/TdxDxe: Clear the registers before tdcall > > > > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 2 +- > > .../Library/CcExitLib/X64/TdVmcallCpuid.nasm | 2 +- > > OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 30 ++++++++++++++++--- > > 3 files changed, 28 insertions(+), 6 deletions(-) > > > > -- > > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116668): https://edk2.groups.io/g/devel/message/116668 Mute This Topic: https://groups.io/mt/104577516/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-03-14 14:34 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-26 21:18 [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM sunceping 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 1/3] MdePkg/BaseLib: Update TDVMCALL_EXPOSE_REGS_MASK sunceping 2024-03-04 1:09 ` Min Xu 2024-03-04 3:22 ` sunceping 2024-03-13 7:32 ` sunceping 2024-03-14 14:33 ` 回复: " gaoliming via groups.io 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 2/3] OvmfPkg/CcExitLib: " sunceping 2024-03-04 1:09 ` Min Xu 2024-02-26 21:18 ` [edk2-devel] [PATCH V1 3/3] OvmfPkg/TdxDxe: Clear the registers before tdcall sunceping 2024-02-27 12:25 ` Isaku Yamahata 2024-02-28 8:27 ` sunceping 2024-03-04 1:09 ` Min Xu 2024-02-27 6:48 ` [edk2-devel] [PATCH V1 0/3] OvmfPkg: Update TDVMCALL to avoid leaking secrets to the VMM Min Xu 2024-03-12 5:53 ` Yao, Jiewen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox