[PATCH] WAN: protect HDLC proto list while insmod/rmmod

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <jeff@...>
Cc: <alan@...>, David Miller <davem@...>, <paulkf@...>, <jchapman@...>, <akpm@...>, <linux-kernel@...>, <netdev@...>
Date: Monday, May 19, 2008 - 1:00 pm

WAN: protect protocol list in hdlc.c with RTNL.
    
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>

--- a/drivers/net/wan/hdlc.c
+++ b/drivers/net/wan/hdlc.c
@@ -42,8 +42,7 @@ static const char* version = "HDLC support module revision 1.22";
 
 #undef DEBUG_LINK
 
-static struct hdlc_proto *first_proto = NULL;
-
+static struct hdlc_proto *first_proto;
 
 static int hdlc_change_mtu(struct net_device *dev, int new_mtu)
 {
@@ -313,21 +312,25 @@ void detach_hdlc_protocol(struct net_device *dev)
 
 void register_hdlc_protocol(struct hdlc_proto *proto)
 {
+	rtnl_lock();
 	proto->next = first_proto;
 	first_proto = proto;
+	rtnl_unlock();
 }
 
 
 void unregister_hdlc_protocol(struct hdlc_proto *proto)
 {
-	struct hdlc_proto **p = &first_proto;
-	while (*p) {
-		if (*p == proto) {
-			*p = proto->next;
-			return;
-		}
+	struct hdlc_proto **p;
+
+	rtnl_lock();
+	p = &first_proto;
+	while (*p != proto) {
+		BUG_ON(!*p);
 		p = &((*p)->next);
 	}
+	*p = proto->next;
+	rtnl_unlock();
 }
 
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Mar 12, 2:21 pm)
[PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Fri Mar 14, 10:20 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Tue Mar 25, 10:39 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Fri Apr 11, 5:35 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Andrew Morton, (Sat Apr 12, 1:14 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Sat Apr 12, 4:10 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Jeff Garzik, (Sat Apr 12, 4:50 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Sat Apr 12, 3:25 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Sat Apr 12, 4:19 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Fri Apr 18, 11:58 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Fri Apr 18, 6:32 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Mon Apr 21, 11:30 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, James Chapman, (Mon Apr 21, 3:31 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Tue Apr 22, 3:06 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Paul Fulghum, (Tue Apr 22, 5:46 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Tue Apr 22, 6:02 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Paul Fulghum, (Tue Apr 22, 7:52 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Jeff Garzik, (Tue Apr 22, 4:50 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, James Chapman, (Tue Apr 22, 6:23 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Tue Apr 22, 6:51 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Tue Apr 22, 6:05 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Apr 23, 1:02 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Wed Apr 23, 6:49 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Apr 23, 8:48 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Wed Apr 23, 9:08 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Thu Apr 24, 9:12 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Thu Apr 24, 9:30 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Thu Apr 24, 9:39 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Thu Apr 24, 9:55 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Thu Apr 24, 4:46 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Mon May 12, 6:32 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed May 14, 12:17 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed May 14, 8:45 am)
[PATCH] WAN: protect HDLC proto list while insmod/rmmod, Krzysztof Halasa, (Mon May 19, 1:00 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Fri Apr 25, 7:10 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Thu Apr 24, 4:50 pm)
RE: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Waskiewicz Jr, Peter P, (Mon Apr 14, 3:16 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Mon Apr 14, 5:09 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Jeff Garzik, (Tue Mar 25, 10:55 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Tue Mar 25, 11:50 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Mar 26, 7:05 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, David Miller, (Tue Mar 25, 7:14 pm)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Mar 26, 11:01 am)
Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC, Jeff Garzik, (Sat Apr 12, 5:12 am)
[PATCH] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Mar 12, 2:30 pm)
Re: [PATCH] Re: WAN: new PPP code for generic HDLC, Jan Engelhardt, (Wed Mar 12, 3:38 pm)
Re: [PATCH] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Mar 12, 4:10 pm)
Re: [PATCH] Re: WAN: new PPP code for generic HDLC, Jan Engelhardt, (Wed Mar 12, 6:12 pm)
Re: [PATCH] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Fri Mar 14, 10:16 am)
Re: [PATCH] Re: WAN: new PPP code for generic HDLC, Stephen Hemminger, (Wed Mar 12, 2:52 pm)
Re: [PATCH] Re: WAN: new PPP code for generic HDLC, Krzysztof Halasa, (Wed Mar 12, 3:25 pm)