Re: brlock_is_locked()?

From: David S. Miller (davem@redhat.com)
Date: Wed Aug 22 2001 - 13:47:35 EST


   From: Brad Chapman <kakadu_croc@yahoo.com>
   Date: Wed, 22 Aug 2001 11:33:12 -0700 (PDT)
   
           It almost isn't. The problem starts when a third-party protocol
   module grabs BR_NETPROTO_LOCK, unloads itself from the networking stack,
   and then tries to call ip6_conntrack_protocol_unregister(). Deadlock.
   The problem is that we need TWO locks: the brlock to seal the network stack,
   and the conntrack rwlock to delete the protocol struct. Sure, you can
   always share the rwlock and leave it at that, but if all you need it for
   is to load/unload your protocol functions, then why bother polluting
   the symbol tables?
           What do you think? Share the rwlock and make everybody who has
   the brlock just use the core function?

You are only showing me that there is potential a deficiency in the
netfilter interfaces. You ought to discuss with the netfilter people
a way to make the interfaces work better.

This is exactly what I said needed to be done.

Later,
David S. Miller
davem@redhat.com

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



This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:50 EST