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, 08 Aug 2016 22:03:06 -0400
From:	"Martin K. Petersen" <martin.petersen@...cle.com>
To:	Yinghai Lu <yinghai@...nel.org>
Cc:	Kashyap Desai <kashyap.desai@...gotech.com>,
	Sumit Saxena <sumit.saxena@...gotech.com>,
	Uday Lingala <uday.lingala@...gotech.com>,
	"James E.J. Bottomley" <jejb@...ux.vnet.ibm.com>,
	"Martin K. Petersen" <martin.petersen@...cle.com>,
	megaraidlinux.pdl@...gotech.com, linux-scsi@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] megaraid_sas: Fix probing cards without io port

>>>>> "Yinghai" == Yinghai Lu <yinghai@...nel.org> writes:

> Found one megaraid_sas HBA probe fails,
> 
> [  187.235190] scsi host2: Avago SAS based MegaRAID driver
> [  191.112365] megaraid_sas 0000:89:00.0: BAR 0: can't reserve [io  0x0000-0x00ff]
> [  191.120548] megaraid_sas 0000:89:00.0: IO memory region busy!

> and the card has resource like,
> [  125.097714] pci 0000:89:00.0: [1000:005d] type 00 class 0x010400
> [  125.104446] pci 0000:89:00.0: reg 0x10: [io  0x0000-0x00ff]
> [  125.110686] pci 0000:89:00.0: reg 0x14: [mem 0xce400000-0xce40ffff 64bit]
> [  125.118286] pci 0000:89:00.0: reg 0x1c: [mem 0xce300000-0xce3fffff 64bit]
> [  125.125891] pci 0000:89:00.0: reg 0x30: [mem 0xce200000-0xce2fffff pref]

> that does not io port resource allocated from BIOS, and kernel can not assign
> one as io port shortage.
> 
> The driver is only looking for MEM, and should not fail.

> It turns out megasas_init_fw() etc are using bar index as mask.
> index 1 is used as mask 1, so that pci_request_selected_regions()
> is trying to request BAR0 instead of BAR1.

> Fix all related reference.

Kashyap? Sumit?

-- 
Martin K. Petersen	Oracle Linux Engineering

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ