Message ID | 20081121.164013.199583439.davem@davemloft.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
David Miller a écrit : > Tsk tsk... :) I just commited the following to net-next-2.6 Oops, thanks David. > > inet_diag: Missed conversion after changing inet ehash lockl to spinlocks. > > They are no longer a rwlocks. > > Signed-off-by: David S. Miller <davem@davemloft.net> > --- > net/ipv4/inet_diag.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c > index 1cb154e..998a78f 100644 > --- a/net/ipv4/inet_diag.c > +++ b/net/ipv4/inet_diag.c > @@ -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: -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 1cb154e..998a78f 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -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:
Tsk tsk... :) I just commited the following to net-next-2.6 inet_diag: Missed conversion after changing inet ehash lockl to spinlocks. They are no longer a rwlocks. Signed-off-by: David S. Miller <davem@davemloft.net> --- net/ipv4/inet_diag.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)