From: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com>
To: dave.hansen@intel.com
Cc: dave.hansen@linux.intel.com, dmitrii.kuvaiskii@intel.com,
haitao.huang@linux.intel.com, jarkko@kernel.org,
kai.huang@intel.com, kailun.qin@intel.com,
linux-kernel@vger.kernel.org, linux-sgx@vger.kernel.org,
mona.vij@intel.com, reinette.chatre@intel.com
Subject: Re: [PATCH v3 0/2] x86/sgx: Fix two data races in EAUG/EREMOVE flows
Date: Fri, 7 Jun 2024 10:47:18 -0700 [thread overview]
Message-ID: <20240607174718.751068-1-dmitrii.kuvaiskii@intel.com> (raw)
In-Reply-To: <2dd91299-650a-4e0e-97f4-0d4e472db9a0@intel.com>
On Tue, May 28, 2024 at 09:01:10AM -0700, Dave Hansen wrote:
> On 5/17/24 04:06, Dmitrii Kuvaiskii wrote:
> > We wrote a trivial stress test to reproduce the hangs observed in
> > real-world applications. The test stresses #PF-based page allocation and
> > SGX_IOC_ENCLAVE_REMOVE_PAGES flows in the SGX driver:
>
> This seems like something we'd want in the kernel SGX selftests.
I looked at tools/testing/selftests/sgx/ and I observe several
complications:
1. The stress test requires creation of several threads (at least two,
ideally more). However, current SGX selftests are single-threaded.
Adding the scaffolding to add multi-threading support to SGX selftests
seems like a non-trivial task.
2. Catching the data race would require a for loop with some threshold.
- First, there are no such looping tests in current SGX selftests. Is
it normal to add such a test?
- Second, what would be the threshold to loop for? I.e., after how many
iterations should we consider the data race not manifesting, and
report success?
- Third, the data race may hang the test. Is this something that is
allowed in selftests? (I mean the test can have only two outcomes --
either it hangs, meaning the data race was not fixed, or it runs to
completion. There is no result that we could EXCEPT or ASSERT on.)
Do we still want to add such a selftest? Or could we maybe piggy-back on
Gramine CI (that will include the test I mentioned in the cover letter)?
--
Dmitrii Kuvaiskii
prev parent reply other threads:[~2024-06-07 17:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-17 11:06 Dmitrii Kuvaiskii
2024-05-17 11:06 ` [PATCH v3 1/2] x86/sgx: Resolve EAUG race where losing thread returns SIGBUS Dmitrii Kuvaiskii
2024-05-17 11:06 ` [PATCH v3 2/2] x86/sgx: Resolve EREMOVE page vs EAUG page data race Dmitrii Kuvaiskii
2024-05-28 16:23 ` Dave Hansen
2024-06-03 18:42 ` Haitao Huang
2024-06-07 17:43 ` Dave Hansen
2024-06-07 17:21 ` Dmitrii Kuvaiskii
2024-05-28 16:01 ` [PATCH v3 0/2] x86/sgx: Fix two data races in EAUG/EREMOVE flows Dave Hansen
2024-06-07 17:47 ` Dmitrii Kuvaiskii [this message]
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=20240607174718.751068-1-dmitrii.kuvaiskii@intel.com \
--to=dmitrii.kuvaiskii@intel.com \
--cc=dave.hansen@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=haitao.huang@linux.intel.com \
--cc=jarkko@kernel.org \
--cc=kai.huang@intel.com \
--cc=kailun.qin@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
--cc=mona.vij@intel.com \
--cc=reinette.chatre@intel.com \
/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
all inboxes | Powered by JetHome®