]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/core/rtnetlink.c
[NET]: make netlink user -> kernel interface synchronious
[net-next-2.6.git] / net / core / rtnetlink.c
index 471d2d9f8eae8c9722e27f4326d0f716703154d0..1072d16696c3b651993ef7130bd09a475c072b81 100644 (file)
@@ -1312,15 +1312,11 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
        return doit(skb, nlh, (void *)&rta_buf[0]);
 }
 
-static void rtnetlink_rcv(struct sock *sk, int len)
+static void rtnetlink_rcv(struct sk_buff *skb)
 {
-       unsigned int qlen = 0;
-
-       do {
-               rtnl_lock();
-               qlen = netlink_run_queue(sk, qlen, &rtnetlink_rcv_msg);
-               rtnl_unlock();
-       } while (qlen);
+       rtnl_lock();
+       netlink_rcv_skb(skb, &rtnetlink_rcv_msg);
+       rtnl_unlock();
 }
 
 static int rtnetlink_event(struct notifier_block *this, unsigned long event, void *ptr)