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: <ac50d7cf2a2071f196552fa4dc4109f9a551c7e7.camel@redhat.com>
Date: Wed, 16 Oct 2024 15:21:37 +0200
From: Philipp Stanner <pstanner@...hat.com>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>, linux-pci@...r.kernel.org, LKML
	 <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/1] PCI: Convert pdev_sort_resources() to use resource
 name helper

On Wed, 2024-10-16 at 16:15 +0300, Ilpo Järvinen wrote:
> On Wed, 16 Oct 2024, Philipp Stanner wrote:
> 
> > On Wed, 2024-10-16 at 15:00 +0300, Ilpo Järvinen wrote:
> > > Use pci_resource_name() helper in pdev_sort_resources() to print
> > > resources in user-friendly format.
> > > 
> > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
> > > ---
> > >  drivers/pci/setup-bus.c | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> > > index 23082bc0ca37..071c5436b4a5 100644
> > > --- a/drivers/pci/setup-bus.c
> > > +++ b/drivers/pci/setup-bus.c
> > > @@ -134,6 +134,7 @@ static void pdev_sort_resources(struct
> > > pci_dev
> > > *dev, struct list_head *head)
> > >  	int i;
> > >  
> > >  	pci_dev_for_each_resource(dev, r, i) {
> > > +		const char *r_name = pci_resource_name(dev, i);
> > >  		struct pci_dev_resource *dev_res, *tmp;
> > >  		resource_size_t r_align;
> > >  		struct list_head *n;
> > > @@ -146,8 +147,8 @@ static void pdev_sort_resources(struct
> > > pci_dev
> > > *dev, struct list_head *head)
> > >  
> > >  		r_align = pci_resource_alignment(dev, r);
> > >  		if (!r_align) {
> > > -			pci_warn(dev, "BAR %d: %pR has bogus
> > > alignment\n",
> > > -				 i, r);
> > > +			pci_warn(dev, "%s: %pR has bogus
> > > alignment\n",
> > > +				 r_name, r);
> > 
> > Why do you remove the BAR index number, don't you think this
> > information is also useful?
> 
> That's because of how pci_resource_name() works. The number will be 
> included in the returned string and it won't be always same as i.
> So that change is done on purpose.
> 
> > One could also consider printing r_align, would that be useful?
> 
> As per the preceeding condition, it's known to be zero so it's not 
> that useful for any developer looking at these code lines.

Ah, right. Would it then make sense then to do:

pci_warn(dev, "%s: %pR: Alignment must not be zero.\n", ...);

Would tell then exactly what the problem is. Unless the devs know that
a bogus alignment is definitely always 0.

?

> 
> > Note
> > that there is a similar pci_warn down below in line 1118 that does
> > print it. Would you want to change that pci_warn()-string, too?
> 
> pci_warn() on line 1118 does NOT print i (as expected when using 
> pci_resource_name()) and there align is not zero so I don't see how
> this 
> is relevant.
> 
> But thanks for taking a look anyway. :-)

Sure thing

> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ