Subject: Re: possible bug in net/tc35815.c in linux-2.6.19

From: Jeff Garzik <[email-masked]>
Date: Sat, 24 Feb 2007 17:04:01 -0500

Michal Piotrowski wrote:
> Hi Philip,
> 
> Philip Guo napisał(a):
>> Hi,
>>
>> I am a graduate student working on finding bugs in Linux drivers using
>> an automated research tool.  I think I've found a possible bug in
>> net/tc35815.c, and I'd appreciate it if you could confirm/disconfirm it.
>>
>> Thanks,
>> Philip
>>
>> ---
>> net/tc35815.c
>>
>> tc35815_driver is never unregistered in tc35815_cleanup_module()
>>
>> static int __init tc35815_init_module(void)
>> {
>>     return pci_register_driver(&tc35815_driver);
>> }
>>
>> static void __exit tc35815_cleanup_module(void)
>> {
>>     struct net_device *next_dev;
>>
>>     while (root_tc35815_dev) {
>>         struct net_device *dev = root_tc35815_dev;
>>         next_dev = ((struct tc35815_local *)dev->priv)->next_module;
>>         iounmap((void *)(dev->base_addr));
>>         unregister_netdev(dev);
>>         free_netdev(dev);
>>         root_tc35815_dev = next_dev;
>>     }
>> }
>>
>>
> 
> I think that you are right, but I don't know this code.
> 
> Jeff, what do you think about this?
> 
> Regards,
> Michal

I created my own patch for this (and one other bug), and checked it in.

Really, though, someone in MIPS-land should give this driver some loving 
care.  It is filled with bugs and 2.4-era anachronisms.

	Jeff