public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Petteri Aimonen <jpa@git.mail.kapsi.fi>
To: Borislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@kernel.org>,
	Dave Hansen <dave.hansen@intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, x86-ml <x86@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] arch/x86: reset MXCSR to default in kernel_fpu_begin()
Date: Tue, 2 Jun 2020 13:29:51 +0300	[thread overview]
Message-ID: <20200602102951.GE17423@lakka.kapsi.fi> (raw)
In-Reply-To: <20200602101119.GA11634@zn.tnic>

Hi,

> Instead of adding that kernel module which is x86-specific
> to a generic lib/ directory, it should be in, say,
> tools/testing/selftests/x86/test_fpu_module.c or so and instead of

The kernel module is not actually x86-specific, even though it is 
currently only enabled for x86. amdgpu driver already does kernel mode 
floating point operations on PPC64 also, and the same module could be 
used to test the same thing there.

> reading /proc/sys/debug/test_fpu, the user portion of the code would
> simply modprobe it.

To deterministically trigger the bug, the syscall has to come from the 
same thread that has modified MXCSR. Going through /usr/sbin/modprobe 
won't work, and manually doing the necessary syscalls for module loading 
seems too complicated.

> What is also missing is the user portion doing ldmxcsr before running
> the test and the test should be causing at least one exception which
> MXCSR masks off.

The fesetround() and feenableexcept() are the portable ways to modify 
MXCSR. The test module does cause Precision Exception and Denormal 
Exception if those exceptions are unmasked.

--
Petteri

  reply	other threads:[~2020-06-02 11:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-02 10:11 [PATCH] arch/x86: reset MXCSR to default in kernel_fpu_begin() Borislav Petkov
2020-06-02 10:29 ` Petteri Aimonen [this message]
2020-06-02 10:56   ` Borislav Petkov
2020-06-02 17:03     ` Andy Lutomirski
2020-06-02 17:27       ` Shuah Khan
2020-06-02 19:50         ` Andy Lutomirski
2020-06-02 20:25           ` Shuah Khan
2020-06-03  5:19             ` Petteri Aimonen
2020-06-11 14:38               ` Shuah Khan
2020-06-11  7:36       ` Petteri Aimonen
2020-06-11  9:18         ` Borislav Petkov
2020-06-11 14:19           ` Andy Lutomirski
2020-06-11 14:50             ` Shuah Khan

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=20200602102951.GE17423@lakka.kapsi.fi \
    --to=jpa@git.mail.kapsi.fi \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox