From: "Huang, Kai" <kai.huang@intel.com>
To: Dave Hansen <dave.hansen@intel.com>, Jarkko Sakkinen <jarkko@kernel.org>
Cc: Andrew Zaborowski <andrew.zaborowski@intel.com>, <x86@kernel.org>,
<linux-sgx@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Tony Luck <tony.luck@intel.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
Borislav Petkov <bp@alien8.de>, Ingo Molnar <mingo@redhat.com>,
"H . Peter Anvin" <hpa@zytor.com>, <balrogg@gmail.com>
Subject: Re: [PATCH] x86: sgx: Don't track poisoned pages for reclaiming
Date: Wed, 12 Feb 2025 23:38:16 +1300 [thread overview]
Message-ID: <3de12591-e935-4f3b-9d5a-d13741a7ef62@intel.com> (raw)
In-Reply-To: <7ed9b288-69a2-446c-9f7f-50ef6bc56673@intel.com>
On 12/02/2025 12:31 pm, Dave Hansen wrote:
> On 2/11/25 13:18, Huang, Kai wrote:
>>>> This requires low-level SGX implementation knowledge to fully
>>>> understand. Both what "ETRACK, EBLOCK and EWB" are in the first place,
>>>> how they are involved in reclaim and also why EREMOVE doesn't lead to
>>>> the same fate.
>>>
>>> Does it? [I'll dig up Intel SDM to check this]
>>>
>> I just did. 🙂
>>
>> It seems EREMOVE only reads and updates the EPCM entry for the target
>> EPC page but won't actually access that EPC page.
>
> Actually, now that I think about it even more, why would ETRACK or
> EBLOCK access the page itself? They seem superficially like they'd be
> metadata-only too.
Looking at the pseudo code, AFAICT EBLOCK doesn't touch the EPC page
either, but ETRACK actually reads SECS (ETRACK must take SECS page as
input):
(* All processors must have completed the previous tracking cycle*)
IF ( (DS:RCX).TRACKING ≠ 0) )
......
Here the DS:RCX is the SECS page.
I think this also is consistent with what Andrew said:
"I haven't seen a crash in either of these (always in EWB), ..."
because a poisoned EPC page being regular enclave page has much higher
possibility. In fact, ETRACK only takes SECS page but I think the
chance that the kernel code can still reach ETRACK while SECS page is
poisoned should be just 0.
next prev parent reply other threads:[~2025-02-12 10:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-11 15:01 [PATCH] x86: sgx: Don't track poisoned pages for reclaiming Andrew Zaborowski
2025-02-11 16:25 ` Dave Hansen
2025-02-11 21:03 ` Jarkko Sakkinen
2025-02-11 21:18 ` Huang, Kai
2025-02-11 23:24 ` Jarkko Sakkinen
2025-02-11 23:31 ` Dave Hansen
2025-02-12 0:32 ` andrzej zaborowski
2025-02-12 0:37 ` Dave Hansen
2025-02-12 10:38 ` Huang, Kai [this message]
2025-02-12 21:25 ` Jarkko Sakkinen
2025-02-12 0:22 ` Andrew Zaborowski
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-all 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=3de12591-e935-4f3b-9d5a-d13741a7ef62@intel.com \
--to=kai.huang@intel.com \
--cc=andrew.zaborowski@intel.com \
--cc=balrogg@gmail.com \
--cc=bp@alien8.de \
--cc=dave.hansen@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jarkko@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.