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>] [day] [month] [year] [list]
Message-Id: <4FF2D1DA020000780008D433@nat28.tlf.novell.com>
Date:	Tue, 03 Jul 2012 10:04:58 +0100
From:	"Jan Beulich" <JBeulich@...e.com>
To:	<mingo@...e.hu>, <tglx@...utronix.de>, <gcosta@...hat.com>,
	<hpa@...or.com>
Cc:	"Jeremy Fitzhardinge" <jeremy@...p.org>,
	<linux-kernel@...r.kernel.org>
Subject: __force_order usage on x86's CRn accesses

Pretty soon after the introduction of this via "x86: unify paravirt
parts of system.h" Jeremy had posted a patch to correct the
(reversed in direction of access) constraints using that auxiliary
variable. What happened to that change? Was it dropped for a
reason?

Furthermore, the addition of these constraints happened
without any real explanation - the code comment that was added
doesn't really help understand why "volatile" isn't sufficient here.

Next, I also saw it being suggested somewhere to replace the
static definition of the variable (causing an instance to appear
everywhere any of the referencing inline function being used)
by an extern one. That also never got carried out, causing
about two dozen pointless instances of this variable to be
scattered around, likely consuming cache bandwidth here and
there.

Now, rather than exporting an auxiliary variable like this, how
about using an existing, rarely referenced (at least in affected
contexts) but already exported one instead?
empty_zero_page, __supported_pte_mask, x86_platform, or
high_memory might be candidates.

Finally (and this is because I lack the explanation why the
artificial constraint is needed in the first place), why is it that
clts() doesn't need one too?

Thanks, Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ