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]
Date:	Mon, 16 Dec 2013 18:28:44 +0100
From:	Levente Kurusa <levex@...ux.com>
To:	Tejun Heo <tj@...nel.org>, Paul Bolle <pebolle@...cali.nl>
CC:	linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] ahci: only attach ICH6-M if it's in SATA mode

On 12/16/2013 04:51 PM, Tejun Heo wrote:
> Hello, Paul.
> 
> On Mon, Dec 16, 2013 at 11:34:57AM +0100, Paul Bolle wrote:
>> Intel's ICH6-M can operate either in IDE mode or in SATA mode. Attaching
>> in IDE mode is pointless (and should fail, as long as BIOS has configured
>> it even remotely sane). So let's only attach in SATA mode.
>>
>> Note that ata_piix does the opposite: only attach if ICH6-M is in IDE
>> mode, so we end up with just one driver attaching in either mode.
>>
>> (And since we're touching this table update a minor typo too.)
>>
>> Signed-off-by: Paul Bolle <pebolle@...cali.nl>
>> ---
>> Tested on an ICH6-M that always runs in IDE mode. So I'm not certain
>> this does the right thing for a ICH6-M running in SATA mode. 
>>
>>  drivers/ata/ahci.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
>> index 4ba3bde..12182fd 100644
>> --- a/drivers/ata/ahci.c
>> +++ b/drivers/ata/ahci.c
>> @@ -191,8 +191,10 @@ static const struct ata_port_info ahci_port_info[] = {
>>  
>>  static const struct pci_device_id ahci_pci_tbl[] = {
>>  	/* Intel */
>> -	{ PCI_VDEVICE(INTEL, 0x2652), board_ahci }, /* ICH6 */
>> -	{ PCI_VDEVICE(INTEL, 0x2653), board_ahci }, /* ICH6M */
>> +	{ PCI_VDEVICE(INTEL, 0x2652), board_ahci }, /* ICH6R */
>> +	/* ICH6M Attach iff the controller is in SATA mode. */
>> +	{ PCI_VENDOR_ID_INTEL, 0x2653, PCI_ANY_ID, PCI_ANY_ID,
>> +	  PCI_CLASS_STORAGE_SATA << 8, 0xffff00, board_ahci },
> 
> I'm not quite sure about this one.  The patch seems correct on the
> surface but given how old ich6 is at this point, the general
> crappiness of BIOS on ahci front in that era, and that the existing
> code has been working fine for all these years make me very reluctant
> to change it.  e.g. I don't think CLASS_STORAGE_SATA was the only one.
> They used different class for raid too.  It should be able to figure
> out things given enough test cases but I don't think we have that
> anymore and the benefit (avoding probe failure messages) doesn't seem
> to justify the risk.

Not only they use different class IDs, but IIRC they also change device ids.
For example, ICH7M was 0x27C4 in AHCI mode and 0x27DF in IDE mode. (obviously
Intel vendor ids)

Paul, did this patch change anything noticeable for you? I mean was there any
problem before that this patch fixes or not?


-- 
Regards,
Levente Kurusa
--
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