Network Drop Monitor: Adding Build changes to enable drop monitor
[safe/jmp/linux-2.6] / net / ipv4 / inet_diag.c
index 1cb154e..588a779 100644 (file)
@@ -720,13 +720,13 @@ static int inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
 
                for (i = s_i; i < INET_LHTABLE_SIZE; i++) {
                        struct sock *sk;
-                       struct hlist_node *node;
+                       struct hlist_nulls_node *node;
                        struct inet_listen_hashbucket *ilb;
 
                        num = 0;
                        ilb = &hashinfo->listening_hash[i];
                        spin_lock_bh(&ilb->lock);
-                       sk_for_each(sk, node, &ilb->head) {
+                       sk_nulls_for_each(sk, node, &ilb->head) {
                                struct inet_sock *inet = inet_sk(sk);
 
                                if (num < s_num) {
@@ -778,7 +778,7 @@ skip_listen_ht:
 
        for (i = s_i; i < hashinfo->ehash_size; i++) {
                struct inet_ehash_bucket *head = &hashinfo->ehash[i];
-               rwlock_t *lock = inet_ehash_lockp(hashinfo, i);
+               spinlock_t *lock = inet_ehash_lockp(hashinfo, i);
                struct sock *sk;
                struct hlist_nulls_node *node;
 
@@ -791,7 +791,7 @@ skip_listen_ht:
                if (i > s_i)
                        s_num = 0;
 
-               read_lock_bh(lock);
+               spin_lock_bh(lock);
                sk_nulls_for_each(sk, node, &head->chain) {
                        struct inet_sock *inet = inet_sk(sk);
 
@@ -806,7 +806,7 @@ skip_listen_ht:
                            r->id.idiag_dport)
                                goto next_normal;
                        if (inet_csk_diag_dump(sk, skb, cb) < 0) {
-                               read_unlock_bh(lock);
+                               spin_unlock_bh(lock);
                                goto done;
                        }
 next_normal:
@@ -828,14 +828,14 @@ next_normal:
                                    r->id.idiag_dport)
                                        goto next_dying;
                                if (inet_twsk_diag_dump(tw, skb, cb) < 0) {
-                                       read_unlock_bh(lock);
+                                       spin_unlock_bh(lock);
                                        goto done;
                                }
 next_dying:
                                ++num;
                        }
                }
-               read_unlock_bh(lock);
+               spin_unlock_bh(lock);
        }
 
 done: