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: <20251020223714.GA1165320@bhelgaas>
Date: Mon, 20 Oct 2025 17:37:14 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
	Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Cc: linux-pci@...r.kernel.org, Guenter Roeck <linux@...ck-us.net>,
	"Maciej W . Rozycki" <macro@...am.me.uk>,
	Bjorn Helgaas <bhelgaas@...gle.com>, linux-mips@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/1] MIPS: Malta: Use pcibios_align_resource() to
 block io range

On Fri, Oct 17, 2025 at 05:12:04PM -0500, Bjorn Helgaas wrote:
> On Fri, Oct 17, 2025 at 02:09:03PM +0300, Ilpo Järvinen wrote:
> > According to Maciej W. Rozycki <macro@...am.me.uk>, the
> > mips_pcibios_init() for malta adjusts root bus IO resource start
> > address to prevent interfering with PIIX4 I/O cycle decoding. Adjusting
> > lower bound leaves PIIX4 IO resources outside of the root bus resource
> > and assign_fixed_resource_on_bus() does not link the resources into the
> > resource tree.
> > 
> > Prior to commit ae81aad5c2e1 ("MIPS: PCI: Use pci_enable_resources()")
> > the arch specific pcibios_enable_resources() did not check if the
> > resources were assigned which diverges from what PCI core checks,
> > effectively hiding the PIIX4 IO resources were not properly within the
> > resource tree. After starting to use pcibios_enable_resources() from
> > PCI core, enabling PIIX4 fails:
> > 
> > ata_piix 0000:00:0a.1: BAR 0 [io  0x01f0-0x01f7]: not claimed; can't enable device
> > ata_piix 0000:00:0a.1: probe with driver ata_piix failed with error -22
> > 
> > MIPS PCI code already has support for enforcing lower bounds using
> > PCIBIOS_MIN_IO in pcibios_align_resource() without altering the IO
> > window start address itself. Make malta PCI code too to use
> > PCIBIOS_MIN_IO.
> > 
> > Fixes: ae81aad5c2e1 ("MIPS: PCI: Use pci_enable_resources()")
> > Fixes: aa0980b80908 ("Fixes for system controllers for Atlas/Malta core cards.")
> > Link: https://lore.kernel.org/linux-pci/9085ab12-1559-4462-9b18-f03dcb9a4088@roeck-us.net/
> > Link: https://lore.kernel.org/linux-pci/alpine.DEB.2.21.2510132229120.39634@angie.orcam.me.uk/
> > Reported-by: Guenter Roeck <linux@...ck-us.net>
> > Suggested-by: Maciej W. Rozycki <macro@...am.me.uk>
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
> 
> Since ae81aad5c2e1 ("MIPS: PCI: Use pci_enable_resources()") came
> through the PCI tree, I'd be happy to merge this as well, given your
> ack, Thomas.  It would be ideal to have a tested-by from Guenter.
> 
> I provisionally put it on pci/for-linus to facilitate testing.  If it
> doesn't solve the problem or you'd rather take it, Thomas, I'll be
> glad to drop it.

Added:

  Tested-by: Guenter Roeck <linux@...ck-us.net>
  Tested-by: Maciej W. Rozycki <macro@...am.me.uk>
  Acked-by: Thomas Bogendoerfer <tsbogend@...ha.franken.de>

and dropped the Fixes: aa0980b80908 ("Fixes for system controllers for
Atlas/Malta core cards.")

If the missing resource reservations (dma1, tiger, dma page reg)
mentioned by Maciej are an issue or can be fixed up, let me know and
we can amend this.

> > ---
> > 
> > v2:
> > 
> > - Remove if and always set PCIBIOS_MIN_IO (suggested by Maciej).
> > - Minor improvement to the changelog
> > 
> >  arch/mips/pci/pci-malta.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/arch/mips/pci/pci-malta.c b/arch/mips/pci/pci-malta.c
> > index 6aefdf20ca05..2e35aeba45bc 100644
> > --- a/arch/mips/pci/pci-malta.c
> > +++ b/arch/mips/pci/pci-malta.c
> > @@ -230,8 +230,7 @@ void __init mips_pcibios_init(void)
> >  	}
> >  
> >  	/* PIIX4 ACPI starts at 0x1000 */
> > -	if (controller->io_resource->start < 0x00001000UL)
> > -		controller->io_resource->start = 0x00001000UL;
> > +	PCIBIOS_MIN_IO = 0x1000;
> >  
> >  	iomem_resource.end &= 0xfffffffffULL;			/* 64 GB */
> >  	ioport_resource.end = controller->io_resource->end;
> > 
> > base-commit: 2f2c7254931f41b5736e3ba12aaa9ac1bbeeeb92
> > -- 
> > 2.39.5
> > 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ