All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Jeff Garzik <jeff@garzik.org>
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
	Philip Guo <pg@cs.stanford.edu>,
	ahennessy@mvista.com, netdev@vger.kernel.org,
	linux-mips@linux-mips.org, Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Subject: Re: possible bug in net/tc35815.c in linux-2.6.19
Date: Mon, 26 Feb 2007 10:26:59 +0000	[thread overview]
Message-ID: <20070226102659.GA28439@linux-mips.org> (raw)
In-Reply-To: <45E0B651.2050601@garzik.org>

On Sat, Feb 24, 2007 at 05:04:01PM -0500, Jeff Garzik wrote:

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

Took a look at it.  It's sort of a non-bug because the driver cannot be
compiled as module, so the module_exit function cannot possibly be
executed.  The board support code is calling into the driver which makes
it impossible to build this driver as a module, yet it's possible to
select building this driver as a module ...  Oh yeah, that root_tc35815_dev
stuff is also pretty ugly.

Atsushi?

  Ralf

  reply	other threads:[~2007-02-26 10:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <45DFEC09.3020801@cs.stanford.edu>
2007-02-24 12:37 ` possible bug in net/tc35815.c in linux-2.6.19 Michal Piotrowski
2007-02-24 22:04   ` Jeff Garzik
2007-02-26 10:26     ` Ralf Baechle [this message]
2007-02-26 11:05       ` Atsushi Nemoto
2007-02-26 20:07         ` Sergei Shtylyov
2007-02-27 14:55           ` Atsushi Nemoto
2007-02-27 14:58           ` rbhma4500_defconfig Atsushi Nemoto
2007-02-27 15:21             ` rbhma4500_defconfig Sergei Shtylyov
2007-02-28 14:07               ` rbhma4500_defconfig Atsushi Nemoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070226102659.GA28439@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=ahennessy@mvista.com \
    --cc=anemo@mba.ocn.ne.jp \
    --cc=jeff@garzik.org \
    --cc=linux-mips@linux-mips.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pg@cs.stanford.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.