From 94b0ae539e990b4f87d9fb89182de9b51c0216d6 Mon Sep 17 00:00:00 2001 From: Tina Yang Date: Fri, 3 Feb 2012 11:07:54 -0500 Subject: [PATCH] RDS: add a sock_destruct callback with debugging Signed-off-by: Chris Mason Signed-off-by: Bang Nguyen --- net/rds/af_rds.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c index 25de6b9456b5f..78d923f35c97f 100644 --- a/net/rds/af_rds.c +++ b/net/rds/af_rds.c @@ -403,6 +403,14 @@ static struct proto_ops rds_proto_ops = { .sendpage = sock_no_sendpage, }; +static void rds_sock_destruct(struct sock *sk) +{ + struct rds_sock *rs = rds_sk_to_rs(sk); + + BUG_ON((&rs->rs_item != rs->rs_item.next || + &rs->rs_item != rs->rs_item.prev)); +} + static int __rds_create(struct socket *sock, struct sock *sk, int protocol) { unsigned long flags; @@ -411,6 +419,7 @@ static int __rds_create(struct socket *sock, struct sock *sk, int protocol) sock_init_data(sock, sk); sock->ops = &rds_proto_ops; sk->sk_protocol = protocol; + sk->sk_destruct = rds_sock_destruct; rs = rds_sk_to_rs(sk); spin_lock_init(&rs->rs_lock); -- 2.49.0