diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-08 18:09:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-08 18:09:57 -0500 |
commit | c5bfdb7261f2c426c730b65ce59440e8de219fda (patch) | |
tree | 45fae681dd57a39cbaed470751926ce79a4b1fc9 | |
parent | 2ef550790ac0d7bb0da1c6432f69f86f55ac1695 (diff) | |
parent | e2eb8d452827b8d1f73db384cd7c6482eac29478 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[SCTP] ipv6: inconsistent lock state ipv6_add_addr/sctp_v6_copy_addrlist
-rw-r--r-- | net/sctp/ipv6.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 63fe1093b616..0b9c49b3a100 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c | |||
@@ -360,7 +360,7 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist, | |||
360 | return; | 360 | return; |
361 | } | 361 | } |
362 | 362 | ||
363 | read_lock(&in6_dev->lock); | 363 | read_lock_bh(&in6_dev->lock); |
364 | for (ifp = in6_dev->addr_list; ifp; ifp = ifp->if_next) { | 364 | for (ifp = in6_dev->addr_list; ifp; ifp = ifp->if_next) { |
365 | /* Add the address to the local list. */ | 365 | /* Add the address to the local list. */ |
366 | addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC); | 366 | addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC); |
@@ -374,7 +374,7 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist, | |||
374 | } | 374 | } |
375 | } | 375 | } |
376 | 376 | ||
377 | read_unlock(&in6_dev->lock); | 377 | read_unlock_bh(&in6_dev->lock); |
378 | rcu_read_unlock(); | 378 | rcu_read_unlock(); |
379 | } | 379 | } |
380 | 380 | ||