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]
Date:	Mon, 01 Oct 2007 17:05:13 +0900
From:	Joonwoo Park <joonwpark81@...il.com>
To:	Greg KH <gregkh@...e.de>
Cc:	linux-kernel@...r.kernel.org, kristen.c.accardi@...el.com
Subject: Re: [PATCH] PCI hotplug : Switch to pci_get_bus_and_slot instead
	of deprecated pci_find_slot.

Thank you so much for your check & advise.
This time, I've tried on ibmphp_core.c, is it OK?

Signed-off-by: Joonwoo Park <joonwpark81@...il.com>
---
 drivers/pci/hotplug/ibmphp_core.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c
index 0316eea..2085023 100644
--- a/drivers/pci/hotplug/ibmphp_core.c
+++ b/drivers/pci/hotplug/ibmphp_core.c
@@ -761,10 +761,13 @@ static void ibm_unconfigure_device(struct pci_func *func)
 	debug("func->device << 3 | 0x0  = %x\n", func->device << 3 | 0x0);
 
 	for (j = 0; j < 0x08; j++) {
-		temp = pci_find_slot(func->busno, (func->device << 3) | j);
-		if (temp)
+		temp = pci_get_bus_and_slot(func->busno, (func->device << 3) | j);
+		if (temp) {
 			pci_remove_bus_device(temp);
+			pci_dev_put(temp);
+		}
 	}
+	pci_dev_put(func->dev);
 }
 
 /*
@@ -823,7 +826,7 @@ static int ibm_configure_device(struct pci_func *func)
 	if (!(bus_structure_fixup(func->busno)))
 		flag = 1;
 	if (func->dev == NULL)
-		func->dev = pci_find_slot(func->busno,
+		func->dev = pci_get_bus_and_slot(func->busno,
 				PCI_DEVFN(func->device, func->function));
 
 	if (func->dev == NULL) {
@@ -836,7 +839,7 @@ static int ibm_configure_device(struct pci_func *func)
 		if (num)
 			pci_bus_add_devices(bus);
 
-		func->dev = pci_find_slot(func->busno,
+		func->dev = pci_get_bus_and_slot(func->busno,
 				PCI_DEVFN(func->device, func->function));
 		if (func->dev == NULL) {
 			err("ERROR... : pci_dev still NULL\n");
---

Thanks.
Joonwoo Park

> On Mon, Oct 01, 2007 at 12:09:07PM +0900, JoonwooPark wrote:
> > This patch fixes these warnings:
> >
> > drivers/pci/hotplug/cpqphp_pci.c: In
> function ???cpqhp_configure_device???:
> > drivers/pci/hotplug/cpqphp_pci.c:92: warning: ???pci_find_slot??? is
> deprecated (declared at include/linux/pci.h:481)
> > drivers/pci/hotplug/cpqphp_pci.c:102: warning: ???pci_find_slot???
> is deprecated (declared at include/linux/pci.h:481)
> > drivers/pci/hotplug/cpqphp_pci.c: In
> function ???cpqhp_unconfigure_device???:
> > drivers/pci/hotplug/cpqphp_pci.c:126: warning: ???pci_find_slot???
> is deprecated (declared at include/linux/pci.h:481)
> > drivers/pci/hotplug/cpqphp_pci.c: In
> function ???cpqhp_save_config???:
> > drivers/pci/hotplug/cpqphp_pci.c:420: warning: ???pci_find_slot???
> is deprecated (declared at include/linux/pci.h:481)
> >
> > Signed-off-by: Joonwoo Park <joonwpark81@...il.com>
> 
> 
> Close, but you need to free the reference that you now have grabed.
>  As
> is, this patch will cause a memory leak and cause bad things to happen
> :(
> 
> Take a look at the documentation for the pci_get_bus_and_slot()
> function, it's not as easy as a simple search-and-replace.
> 
> thanks,
> 
> greg k-h
> 


-
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