]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
RDS: add a sock_destruct callback with debugging
authorTina Yang <tina.yang@oracle.com>
Fri, 3 Feb 2012 16:07:54 +0000 (11:07 -0500)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 23:41:30 +0000 (16:41 -0700)
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Bang Nguyen <bang.nguyen@oracle.com>
net/rds/af_rds.c

index 25de6b9456b5f505ad017a55a8db9e0af092d5cf..78d923f35c97fd1c094b8ed98e0184332d7a3636 100644 (file)
@@ -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);