public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "gaoliming" <gaoliming@byosoft.com.cn>
To: "'Kun Qin'" <kuqin12@gmail.com>, "'Ard Biesheuvel'" <ardb@kernel.org>
Cc: "'edk2-devel-groups-io'" <devel@edk2.groups.io>,
	"'Jian J Wang'" <jian.j.wang@intel.com>,
	"'Hao A Wu'" <hao.a.wu@intel.com>,
	"'Leif Lindholm'" <leif@nuviainc.com>,
	"'Ard Biesheuvel'" <ardb+tianocore@kernel.org>,
	"'Bret Barkelew'" <Bret.Barkelew@microsoft.com>,
	"'Michael Kubacki'" <michael.kubacki@microsoft.com>
Subject: 回复: [edk2-devel] [PATCH v1 0/2] MM communicate functionality in variable policy
Date: Tue, 7 Dec 2021 09:12:07 +0800	[thread overview]
Message-ID: <02f401d7eb07$746d7d70$5d487850$@byosoft.com.cn> (raw)
In-Reply-To: <d69c5b50-a775-e415-6a21-eea473e2db60@gmail.com>

Kun:
  Does this change impact current behavior? Seemly, there is no strict check on MessageLength.

Thanks
Liming
> -----邮件原件-----
> 发件人: Kun Qin <kuqin12@gmail.com>
> 发送时间: 2021年12月7日 2:47
> 收件人: Ard Biesheuvel <ardb@kernel.org>
> 抄送: edk2-devel-groups-io <devel@edk2.groups.io>; Jian J Wang
> <jian.j.wang@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Hao A
> Wu <hao.a.wu@intel.com>; Leif Lindholm <leif@nuviainc.com>; Ard
> Biesheuvel <ardb+tianocore@kernel.org>; Bret Barkelew
> <Bret.Barkelew@microsoft.com>; Michael Kubacki
> <michael.kubacki@microsoft.com>
> 主题: Re: [edk2-devel] [PATCH v1 0/2] MM communicate functionality in
> variable policy
> 
> Thanks for the information, Ard. I just meant to plan ahead so that I
> can work on the feedback for these patches, if any.
> 
> I can ping back the thread again once the stable tag is created.
> 
> Regards,
> Kun
> 
> On 12/06/2021 10:41, Ard Biesheuvel wrote:
> > On Mon, 6 Dec 2021 at 19:35, Kun Qin <kuqin12@gmail.com> wrote:
> >>
> >> Hi ArmPkg and MdeModulePkg maintainers,
> >>
> >> It has been a week since the patches were sent. Could you please review
> >> the changes and let me know if there is any feedback? Any input is
> >> appreciated.
> >>
> >
> > As far as I know, we are still in hard freeze for the upcoming stable tag.
> >
> >>
> >> On 11/29/2021 16:39, Kun Qin via groups.io wrote:
> >>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3709
> >>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3751
> >>>
> >>> Currently, setups with variable policy operations used together with MM
> >>> communicate from ArmPkg could fail with `EFI_INVALID_PARAMETER`.
> This was
> >>> due to the errors from 2 following aspects:
> >>>
> >>> 1. For variable policy implementations in MdeModulePkg, the DXE
> runtime
> >>> agent would communicate to MM to disable, register or query policies.
> >>> However, during these operations, the MessageLength calculation is
> >>> including MM communicate header. This could lead to MM agent read
> data
> >>> across the given buffer boundary and/or trigger other errors.
> >>>
> >>> 2. On the other hand, current MM communicate routine from ArmPkg
> would
> >>> fail the function if the input message length does not equal to input
> >>> buffer size.
> >>>
> >>> As defined in PI specification, the `CommSize`, when as input, should
> >>> stand for "The size of the data buffer being passed in", which would mean
> >>> the maximal number of bytes `CommBuffer` can hold. In turn, the value of
> >>> this input parameter can be used for MM handlers to determine whether
> the
> >>> output data is too large to fit in this buffer. Enforcing the incoming
> >>> buffer to hold exactly the number of used bytes mismatches with the PI
> >>> spec description.
> >>>
> >>> This change fix MessageLength field calculation from variable policy and
> >>> updated input argument inspections from MM communicate routine in
> ArmPkg
> >>> to match PI spec descriptions.
> >>>
> >>> Patch v1 branch:
> https://github.com/kuqin12/edk2/tree/mm_communicate_check
> >>>
> >>> Cc: Jian J Wang <jian.j.wang@intel.com>
> >>> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> >>> Cc: Hao A Wu <hao.a.wu@intel.com>
> >>> Cc: Leif Lindholm <leif@nuviainc.com>
> >>> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> >>> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> >>> Cc: Michael Kubacki <michael.kubacki@microsoft.com>
> >>>
> >>> Kun Qin (2):
> >>>     MdeModulePkg: VariableSmmRuntimeDxe: Fix Variable Policy
> Message
> >>>       Length
> >>>     ArmPkg: MmCommunicationDxe: Update MM communicate input
> arguments
> >>>       checks
> >>>
> >>>    ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c
> | 44 ++++++++++++--------
> >>>
> MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c |
> 10 ++---
> >>>    2 files changed, 32 insertions(+), 22 deletions(-)
> >>>



  reply	other threads:[~2021-12-07  1:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <16BC2C06E438B403.26361@groups.io>
2021-12-06 18:35 ` [edk2-devel] [PATCH v1 0/2] MM communicate functionality in variable policy Kun Qin
2021-12-06 18:41   ` Ard Biesheuvel
2021-12-06 18:46     ` Kun Qin
2021-12-07  1:12       ` gaoliming [this message]
2021-12-07  2:07         ` 回复: " Kun Qin
2021-12-13 18:23     ` Kun Qin
2022-09-07  8:27       ` Ard Biesheuvel
2022-09-07 17:44         ` Kun Qin

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='02f401d7eb07$746d7d70$5d487850$@byosoft.com.cn' \
    --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