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] [day] [month] [year] [list]
Date:	Sun, 15 Jul 2007 15:41:49 +0530
From:	Surya Prabhakar N <surya.prabhakar@...ro.com>
To:	Jeff Garzik <jeff@...zik.org>
Cc:	caglar@...dus.org.tr, linux-kernel@...r.kernel.org, kkeil@...e.de,
	kai.germaschewski@....de, isdn4linux@...tserv.isdn4linux.de,
	akpm <akpm@...ux-foundation.org>
Subject: Re: [PATCH 1/12] drivers/isdn/hisax/avm_pci.c: replace
	pci_find_device with pci_get_device

On Sun, 2007-07-15 at 03:40 -0400, Jeff Garzik wrote:
> To be more clear, your solution is incorrect unless the pci_dev_put() 
> occurs after the last reference to hw.{elsa,diva,hfc,njet,...}.dev, 
> which is where the HiSax ISDN drivers store their reference to struct 
> pci_dev during the runtime life of the PCI device.
> 
> Am I missing where your patch does this?
It is really missing :-(
> 
> By way of further interest, a few hours _before_ (yes, really) I saw 
> your patches, I resumed converting the ISDN HiSax PCI drivers to use the 
> PCI driver API.  You can find this work in 
> git://git.kernel.org/.../jgarzik/misc-2.6.git#isdn-pci.
> 
> If you fix your patches' lifetime problems, I will ACK them myself, 
> since my effort is a spare time effort.  But just wanted you to be aware 
> that I am deep into the code you are fixing, and can at least speak 
> somewhat knowledgeably on the specific lines of code you are changing.
I can see the bug. Thanks for updating me. I really missed the point
that these whole set of drivers are a part of hisax.ko...

most of the initialization is done in hisax/config.c
Now are you suggesting that we should have a pci_dev_put in config.c
where you have the module_exit.

I am not sure where I can call the dev_put.
consider hisax/avm_pci.c  

in which if we have a code like the below
dev_avm = pci_get_device(PCI_VENDOR_ID_AVM,
		PCI_DEVICE_ID_AVM_A1,  dev_avm))) {

dev_avm is getting initialized in this file 
static struct pci_dev *dev_avm __devinitdata = NULL;

so can I do an
extern static struct pci_dev *dev_avm; 
in the config.c 

and call pci_dev_put(dev_avm) in config.c file's module_exit or
whereever there is an error return?


> 
> 	Jeff
> 
> 
> 
-surya.
-
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