From: Tina Yang Date: Fri, 3 Feb 2012 16:07:54 +0000 (-0500) Subject: RDS: add a sock_destruct callback with debugging X-Git-Tag: v4.1.12-92~319^2^2~2^2~46 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=94b0ae539e990b4f87d9fb89182de9b51c0216d6;p=users%2Fjedix%2Flinux-maple.git RDS: add a sock_destruct callback with debugging Signed-off-by: Chris Mason Signed-off-by: Bang Nguyen --- diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c index 25de6b9456b5..78d923f35c97 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);