From: Jarkko Sakkinen <jarkko@kernel.org>
To: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>,
linux-sgx@vger.kernel.org,
Haitao Huang <haitao.huang@linux.intel.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4] x86/sgx: Do not consider unsanitized pages an error
Date: Fri, 26 Aug 2022 22:41:44 +0300 [thread overview]
Message-ID: <Ywkh+ChYvUW3zwfD@kernel.org> (raw)
In-Reply-To: <4645fdb3-2836-0028-dee9-7a9321f1ebf2@molgen.mpg.de>
On Fri, Aug 26, 2022 at 07:21:44PM +0200, Paul Menzel wrote:
> Dear Jarkko,
>
>
> Am 26.08.22 um 14:51 schrieb Paul Menzel:
>
> […]
>
> > Am 26.08.22 um 03:41 schrieb Jarkko Sakkinen:
> > > In sgx_init(), if misc_register() for the provision device fails, and
> > > neither sgx_drv_init() nor sgx_vepc_init() succeeds, then ksgxd will be
> > > prematurely stopped.
> > >
> > > This triggers WARN_ON() because sgx_dirty_page_list ends up being
> > > non-empty. Ultimately this can crash the kernel, depending on the kernel
> > > command line, which is not correct behavior because SGX driver is not
> > > working incorrectly.
> >
> > Maybe paste the WARN_ON trace, so `git log` can be searched for the
> > trace too.
> >
> > > Print simple warning instead, and improve the output by printing the
> > > number of unsanitized pages.
> >
> > See below, but no warning seems to be logged in my case now. (I should
> > test Linus’ current master too.)
>
> Just for the record, the problem still exists in Linus’ master branch:
>
> ```
> [ 0.000000] Linux version 6.0.0-rc2 (root@4beb429beb4a) (gcc (Debian
> 11.3.0-3) 11.3.0, GNU ld (GNU Binutils for Debian) 2.38) #382 SMP
> PREEMPT_DYNAMIC Fri Aug 26 12:52:15 UTC 2022
> [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.0.0-rc2
> root=UUID=56f398e0-1e25-4fda-aa9f-611dece4b333 ro quiet
> module_blacklist=psmouse initcall_debug log_buf_len=4M cryptomgr.notests
> […]
> [ 0.268089] calling sgx_init+0x0/0x409 @ 1
> [ 0.268103] sgx: EPC section 0x40200000-0x45f7ffff
> [ 0.268591] ------------[ cut here ]------------
> [ 0.268592] WARNING: CPU: 6 PID: 83 at arch/x86/kernel/cpu/sgx/main.c:401
> ksgxd+0x1b7/0x1d0
> [ 0.268598] Modules linked in:
> [ 0.268600] CPU: 6 PID: 83 Comm: ksgxd Not tainted 6.0.0-rc2 #382
> [ 0.268603] Hardware name: Dell Inc. XPS 13 9370/0RMYH9, BIOS 1.21.0
> 07/06/2022
> [ 0.268604] RIP: 0010:ksgxd+0x1b7/0x1d0
> [ 0.268607] Code: ff e9 f2 fe ff ff 48 89 df e8 75 07 0e 00 84 c0 0f 84
> c3 fe ff ff 31 ff e8 e6 07 0e 00 84 c0 0f 85 94 fe ff ff e9 af fe ff ff <0f>
> 0b e9 7f fe ff ff e8 dd 9c 95 00 66 66 2e 0f 1f 84 00 00 00 00
> [ 0.268608] RSP: 0000:ffffb6c7404f3ed8 EFLAGS: 00010287
> [ 0.268610] RAX: ffffb6c740431a10 RBX: ffff8dcd8117b400 RCX:
> 0000000000000000
> [ 0.268612] RDX: 0000000080000000 RSI: ffffb6c7404319d0 RDI:
> 00000000ffffffff
> [ 0.268613] RBP: ffff8dcd820a4d80 R08: ffff8dcd820a4180 R09:
> ffff8dcd820a4180
> [ 0.268614] R10: 0000000000000000 R11: 0000000000000006 R12:
> ffffb6c74006bce0
> [ 0.268615] R13: ffff8dcd80e63880 R14: ffffffffa8a60f10 R15:
> 0000000000000000
> [ 0.268616] FS: 0000000000000000(0000) GS:ffff8dcf25580000(0000)
> knlGS:0000000000000000
> [ 0.268617] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 0.268619] CR2: 0000000000000000 CR3: 0000000213410001 CR4:
> 00000000003706e0
> [ 0.268620] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [ 0.268621] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
> 0000000000000400
> [ 0.268622] Call Trace:
> [ 0.268624] <TASK>
> [ 0.268627] ? _raw_spin_lock_irqsave+0x24/0x60
> [ 0.268632] ? _raw_spin_unlock_irqrestore+0x23/0x40
> [ 0.268634] ? __kthread_parkme+0x36/0x90
> [ 0.268637] kthread+0xe5/0x110
> [ 0.268639] ? kthread_complete_and_exit+0x20/0x20
> [ 0.268642] ret_from_fork+0x1f/0x30
> [ 0.268647] </TASK>
> [ 0.268648] ---[ end trace 0000000000000000 ]---
> [ 0.268694] initcall sgx_init+0x0/0x409 returned -19 after 603 usecs
> ```
>
> Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
Thank you.
BR, Jarkko
prev parent reply other threads:[~2022-08-26 19:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-26 1:41 [PATCH v4] x86/sgx: Do not consider unsanitized pages an error Jarkko Sakkinen
2022-08-26 1:54 ` Jarkko Sakkinen
2022-08-26 12:51 ` Paul Menzel
2022-08-26 15:25 ` Jarkko Sakkinen
2022-08-26 17:21 ` Paul Menzel
2022-08-26 19:41 ` Jarkko Sakkinen [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=Ywkh+ChYvUW3zwfD@kernel.org \
--to=jarkko@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=haitao.huang@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pmenzel@molgen.mpg.de \
--cc=reinette.chatre@intel.com \
--cc=tglx@linutronix.de \
--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.