Re: Modules with list

Rusty Russell (rusty@rustcorp.com.au)
Wed, 27 Nov 2002 09:40:29 +1100


In message <200211260649.WAA22216@adam.yggdrasil.com> you write:
> >TCP for example, sets the destructor function for the skb. It can be
> >called an arbitrary time later. Netfilter modules do a similar thing,
> >for similar reasons. You'd better grab a reference to *something*.
>
> The ->remove() function of a network device driver will
> not return until it has freed all receive skb's that it allocated
> and all transmit skb's that were passed to its transmit function.

I'm not talking about a device driver, but modularizing the IPv4
stack.

> >This would only happen if someone says "rmmod --wait".

As I realized last night after I wrote this, there is a bug in
module.c. If O_NONBLOCK is specified, we shouldn't drop the module
sempaphore at all, for exactly this reason. A bug I introduced while
"cleaning up" the "--wait" path.

Sorry for the confusion.

> I think of people would consider it to be progress to have
> non-removable modular IP, which what I run, but I digress again.

Non-removable is easy. It's now possible to do removable IPv4 and
IPv6, which was kind of the point of the exercise.

Hope that helps,
Rusty.

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/