diff options
Diffstat (limited to 'net/sctp/ipv6.c')
-rw-r--r-- | net/sctp/ipv6.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 99c0cefc04e0..249e5033c1a8 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c | |||
@@ -78,7 +78,6 @@ | |||
78 | 78 | ||
79 | #include <asm/uaccess.h> | 79 | #include <asm/uaccess.h> |
80 | 80 | ||
81 | extern int sctp_inetaddr_event(struct notifier_block *, unsigned long, void *); | ||
82 | static struct notifier_block sctp_inet6addr_notifier = { | 81 | static struct notifier_block sctp_inet6addr_notifier = { |
83 | .notifier_call = sctp_inetaddr_event, | 82 | .notifier_call = sctp_inetaddr_event, |
84 | }; | 83 | }; |
@@ -322,9 +321,9 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist, | |||
322 | struct inet6_ifaddr *ifp; | 321 | struct inet6_ifaddr *ifp; |
323 | struct sctp_sockaddr_entry *addr; | 322 | struct sctp_sockaddr_entry *addr; |
324 | 323 | ||
325 | read_lock(&addrconf_lock); | 324 | rcu_read_lock(); |
326 | if ((in6_dev = __in6_dev_get(dev)) == NULL) { | 325 | if ((in6_dev = __in6_dev_get(dev)) == NULL) { |
327 | read_unlock(&addrconf_lock); | 326 | rcu_read_unlock(); |
328 | return; | 327 | return; |
329 | } | 328 | } |
330 | 329 | ||
@@ -343,7 +342,7 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist, | |||
343 | } | 342 | } |
344 | 343 | ||
345 | read_unlock(&in6_dev->lock); | 344 | read_unlock(&in6_dev->lock); |
346 | read_unlock(&addrconf_lock); | 345 | rcu_read_unlock(); |
347 | } | 346 | } |
348 | 347 | ||
349 | /* Initialize a sockaddr_storage from in incoming skb. */ | 348 | /* Initialize a sockaddr_storage from in incoming skb. */ |