aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-10-24 16:10:00 -0400
committerVlad Yasevich <vladislav.yasevich@hp.com>2007-11-07 11:39:27 -0500
commit0ed90fb0f668fd07f14ae2007a809e8b26cd27a6 (patch)
tree114e48301b89a8e82f7238d8b691880607842947 /include/net/sctp
parentb6157d8e03e1e780660a328f7183bcbfa4a93a19 (diff)
SCTP: Update RCU handling during the ADD-IP case
After learning more about rcu, it looks like the ADD-IP hadling doesn't need to call call_rcu_bh. All the rcu critical sections use rcu_read_lock, so using call_rcu_bh is wrong here. Now, restore the local_bh_disable() code blocks and use normal call_rcu() calls. Also restore the missing return statement. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/structs.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 482c2aab3d67..a17701740624 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1185,9 +1185,7 @@ int sctp_bind_addr_copy(struct sctp_bind_addr *dest,
1185 int flags); 1185 int flags);
1186int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, 1186int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *,
1187 __u8 use_as_src, gfp_t gfp); 1187 __u8 use_as_src, gfp_t gfp);
1188int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *, 1188int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *);
1189 void fastcall (*rcu_call)(struct rcu_head *,
1190 void (*func)(struct rcu_head *)));
1191int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, 1189int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *,
1192 struct sctp_sock *); 1190 struct sctp_sock *);
1193union sctp_addr *sctp_find_unmatch_addr(struct sctp_bind_addr *bp, 1191union sctp_addr *sctp_find_unmatch_addr(struct sctp_bind_addr *bp,