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: <36D9DB17C6DE9E40B059440DB8D95F52016AFF8C@orsmsx418.amr.corp.intel.com>
Date:	Mon, 11 Dec 2006 14:07:56 -0800
From:	"Brandeburg, Jesse" <jesse.brandeburg@...el.com>
To:	"Jeff Garzik" <jgarzik@...ox.com>,
	"Kok, Auke-jan H" <auke-jan.h.kok@...el.com>
Cc:	<netdev@...r.kernel.org>, "Kok, Auke" <auke@...-projects.org>,
	"Ronciak, John" <john.ronciak@...el.com>
Subject: RE: [PATCH 03/22] ixgb: Write RA register high word first, increment version

Jeff Garzik wrote:
>> -		IXGB_WRITE_REG_ARRAY(hw, RA, (i << 1), 0);
>> +		/* Write high reg first to disable the AV bit first */
>>  		IXGB_WRITE_REG_ARRAY(hw, RA, ((i << 1) + 1), 0);
>> +		IXGB_WRITE_REG_ARRAY(hw, RA, (i << 1), 0);
> 
> Are you sure the order is guaranteed even after this code change, when
> considering all manner of CPU and bus posted writes?
> 
> ACK if yes

AFAIK, yes, because a bus controller should not be able to write combine
address sequence 4,0,12,8 into 0-12, because that would be reordering
writes.

I've only seen a strangely configured AMD 8132 bridge write combine
*linear* writes like this 0,4,8,12 into 0-12, so you can either reorder
the writes *or* put in a write flush between linear writes to work
around any issues created by write combining register writes.

In any case I believe this work around to be okay.
--
Jesse
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ