Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test change per your request #1

Closed
wants to merge 1 commit into from
Closed

Test change per your request #1

wants to merge 1 commit into from

Conversation

out0xb2
Copy link

@out0xb2 out0xb2 commented Nov 28, 2018

Testing 1, 2, 3

Copy link
Owner

@lersek lersek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's see if this comment attaches to the commit message.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

it seems I couldn't attach a comment to the commit message. Let's see if I can attach a comment to a line of code.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

Not sure why my original comment ended up doubly in this view.

@@ -1,6 +1,6 @@
# EDK II Project

A modern, feature-rich, cross-platform firmware development environment
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review comment attached to a single line of code.
Not sure how the buttons differ, "add single comment" vs. "start a review".

Copy link
Owner

@lersek lersek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm struggling with this review interface.

@@ -1,6 +1,6 @@
# EDK II Project

A modern, feature-rich, cross-platform firmware development environment
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's try "start a review" here

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

review comment #?

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

While reviewing my above comments, I'm having trouble getting a complete view of the patch, with subject line, commit message, code changes, and my comments, included.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

Ah, OK, I have to ignore the "lersek commented XXX minutes ago" entries, and just go directly to the "commits" view. There I'll find everything together.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

OK. While I find this interface somewhat cumbersome for now, it seems like I can attach comments to specific patch lines, and general comments to the commit message (although not to specific lines of the commit message). In addition, if I click the "commits" button at the top, I can view the commits in full detail, optionally displaying vs. hiding the comments on them as well. This looks good.

The discussion / history-like view of my comments, in the general pullreq interface, seems rather unhelpful, as they show basically no context (the commit in question is not identified in any way, neither are the lines other than the ones having received a remark). That's no problem, I can ignore those entries.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

Alright; @out0xb2 can you please make a non-fast-forwardable change on the same patch-1 branch, and push it again? (You should need the --force switch to push it.) Basically, please replace commit 364268d with a different one. I'd like to test if the old branch remains visible, with my comments. Thanks!

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

My next test request will be that you please delete your subject repository from github. (If that's too much, then please create another repo, submit a pullreq from that, and then delete that repo.) I'd like to test whether the commits under review, or the comments, disappear when the original requestor's topic branch & repo disappear. Thanks!

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

The email notifications that I've received about my patch comments are not good enough. Again, the main problem is that they completely lack context. The notification email does not name the commit itself (the subject line is not quoted, only the PR subject is put in the email's subject). This is an issue in a multi-patch series.

Furthermore, while the file is named, too little context is cited. If I understand right, the leading context is quoted, but the trailing context isn't.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

Oh and the commit message ("test test") is also not quoted in the emails.

@lersek
Copy link
Owner

lersek commented Nov 28, 2018

Am I right to think that the HTML contents of the notification emails include "web bugs"? Thunderbird keeps warning me that it has blocked remote content in the emails.

@lersek lersek mentioned this pull request Nov 29, 2018
@lersek
Copy link
Owner

lersek commented Nov 29, 2018

Rejecting this to see if that changes anything about the accessibility of commit 364268d.

@lersek lersek closed this Nov 29, 2018
@lersek
Copy link
Owner

lersek commented Nov 29, 2018

No immediate problems, using the link at the top (i.e., https://github.com/lersek/edk2/pull/1/commits/364268dc4522ee533f0718ab9c830934fd59d8e3).

lersek pushed a commit that referenced this pull request Oct 31, 2019
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
lersek pushed a commit that referenced this pull request Nov 5, 2019
MpInitLib sets X2ApicEnable in two places.
1. CollectProcessorCount()
   This function is called when MpInitLibInitialize() hasn't been
   called before.
   It sets X2ApicEnable and later in the same function it configures
   all CPUs to operate in X2 APIC mode.
2. MpInitLibInitialize()
   The X2ApicEnable setting happens when this function is called in
   second time. But after that setting, no code consumes that flag.

With the above analysis and with the purpose of simplifying the code,
the X2ApicEnable in #1 is changed to local variable and the #2 can be
changed to remove the setting of X2ApicEnable.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
lersek pushed a commit that referenced this pull request Aug 13, 2020
The unit test app supports running in 3 mode:
1. MtrrLibUnitTest generate-random-numbers
     <path to MtrrLib/UnitTest/RandomNumber.c> <random-number count>
   It generates random numbers and writes to RandomNumber.c.

2. MtrrLibUnitTest [<iterations>]
   It tests MtrrLib APIs using configurations generated from static
   numbers generated by mode #1.
   This is the default execution mode running in CI environment.

3. MtrrLibUnitTest <iterations> random
   It tests MtrrLib APIs using configurations generated from random
   numbers.
   This is what developers can use to test MtrrLib for regressions.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ming Shao <ming.shao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
lersek pushed a commit that referenced this pull request Nov 10, 2023
Root cause:
1. Before DisableReadonlyPageWriteProtect() is called, the return
address (#1) is pushed in shadow stack.
2. CET is disabled.
3. DisableReadonlyPageWriteProtect() returns to #1.
4. Page table is modified.
5. EnableReadonlyPageWriteProtect() is called, but the return
address (#2) is not pushed in shadow stack.
6. CET is enabled.
7. EnableReadonlyPageWriteProtect() returns to #2.
#CP exception happens because the actual return address (#2)
doesn't match the return address stored in shadow stack (#1).

Analysis:
Shadow stack will stop update after CET disable (DisableCet() in
DisableReadOnlyPageWriteProtect), but normal smi stack will be
continue updated with the function called and return
(DisableReadOnlyPageWriteProtect & EnableReadOnlyPageWriteProtect),
thus leading stack mismatch after CET re-enabled (EnableCet() in
EnableReadOnlyPageWriteProtect).

According SDM Vol 3, 6.15-Control Protection Exception:
Normal smi stack and shadow stack must be matched when CET enable,
otherwise CP Exception will happen, which is caused by a near RET
instruction.

CET is disabled in DisableCet(), while can be enabled in
EnableCet(). This way won't cause the problem because they are
implemented in a way that return address of DisableCet() is
poped out from shadow stack (Incsspq performs a pop to increases
the shadow stack) and EnableCet() doesn't use "RET" but "JMP" to
return to caller. So calling EnableCet() and DisableCet() doesn't
have the same issue as calling DisableReadonlyPageWriteProtect()
and EnableReadonlyPageWriteProtect().

With above root cause & analysis, define below 2 macros instead of
functions for WP & CET operation:
WRITE_UNPROTECT_RO_PAGES (Wp, Cet)
WRITE_PROTECT_RO_PAGES (Wp, Cet)
Because DisableCet() & EnableCet() must be in the same function
to avoid shadow stack and normal SMI stack mismatch.

Note: WRITE_UNPROTECT_RO_PAGES () must be called pair with
WRITE_PROTECT_RO_PAGES () in same function.

Change-Id: I4e126697efcd8dbfb4887da034d8691bfca969e3
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zeng Star <star.zeng@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
lersek pushed a commit that referenced this pull request Feb 7, 2024
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4534

Bug Details:
PixieFail Bug #1
CVE-2023-45229
CVSS 6.5 : CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CWE-125 Out-of-bounds Read

Change Overview:

Introduce Dhcp6SeekInnerOptionSafe which performs checks before seeking
the Inner Option from a DHCP6 Option.

>
> EFI_STATUS
> Dhcp6SeekInnerOptionSafe (
>  IN  UINT16  IaType,
>  IN  UINT8   *Option,
>  IN  UINT32  OptionLen,
>  OUT UINT8   **IaInnerOpt,
>  OUT UINT16  *IaInnerLen
>  );
>

Lots of code cleanup to improve code readability.

Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>

Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants