lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <94083f1c-dab1-4b57-bd45-a4d4f8ac262e@citrix.com>
Date: Thu, 27 Feb 2025 19:49:47 +0000
From: Andrew Cooper <andrew.cooper3@...rix.com>
To: mingo@...nel.org
Cc: bp@...en8.de, chang.seok.bae@...el.com, dave.hansen@...el.com,
 dave.hansen@...ux.intel.com, linux-kernel@...r.kernel.org, mingo@...hat.com,
 tglx@...utronix.de, x86@...nel.org
Subject: Re: [PATCH RFC v1 02/11] x86/fpu/xstate: Introduce xstate order table
 and accessor macro

> I really don't see the issue:
>
>> There were basically three choices: 1. Reuse XFEATURES 3/4 (MPX) 2.
>> Create a new out-of-order XFEATURE 19 that reuses MPX space 3. Create
>> a n in-order XFEATURE 19 that needs XFD and an opt-in #1 risks
>> breaking old MPX code in weird ways. 
>
> This is a false trichotomy. ;-)
>
> There's a 4th option:
>
>    4. Reuse XFEATURES 3/4 (MPX) only on APX-aware kernels, keep it 
>       disabled for old kernels.
>
> Problem solved.

Forget breaking MPX code in weird ways; there's very little of it, and
it was distinctly of negative value.

What options #1 and #4 will cause is the virt people to come after you
with sharp implements for creating incompatibilities in an ABI.  The
XFEATUREs are the tag(ish) of the union that is the xsave buffer.

That said, I don't see why option 3 would need XFD support.  I can see
why Intel didn't want to cause APX-userpsace to need a ~10k legacy XSAVE
buffer, but that's not really about XFD.

~Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ