summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-09-14 18:54:28 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-09-14 18:54:28 +0200
commite32a141c988ecc1898053722eabf9c01fbce8375 (patch)
tree72bee99d36932a5d994c767ec76c7168bcbbf80a
parentf91e641ee86217ff28a30057e7774fab3cc2b097 (diff)
downloadcryptodev-linux-e32a141c988ecc1898053722eabf9c01fbce8375.tar.gz
cryptodev-linux-e32a141c988ecc1898053722eabf9c01fbce8375.tar.xz
cryptodev-linux-e32a141c988ecc1898053722eabf9c01fbce8375.zip
DUMP_ASK
-rw-r--r--cryptodev_main.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/cryptodev_main.c b/cryptodev_main.c
index c52210d..d9f63fe 100644
--- a/cryptodev_main.c
+++ b/cryptodev_main.c
@@ -117,6 +117,14 @@ struct alg_sock {
struct hash_data hash;
};
+static void __dump_alg_sock(int line, const struct alg_sock *ask)
+{
+ printk(KERN_DEBUG "@%d: %p: cnt %d, slave %p: %u/%u, hash %d\n", line,
+ ask, atomic_read(&ask->sk.sk_refcnt), ask->slaves[0],
+ ask->accept_idx, ask->num_slaves, ask->hash.init);
+}
+#define DUMP_ASK(ASK) (__dump_alg_sock(__LINE__, (ASK)))
+
/* Socket reference counting:
The primary reference to alg_sock is from user-space.
@@ -239,6 +247,7 @@ static struct proto alg_proto = {
context as well. */
static void data_destruct(struct sock *sk)
{
+ DUMP_DSK(data_sk(sk));
local_bh_disable();
sock_prot_inuse_add(sock_net(sk), &data_proto, -1);
local_bh_enable();
@@ -273,6 +282,7 @@ static int do_data_sendmsg(struct kiocb *iocb, struct alg_sock *ask,
// FIXME: locking
// FIXME: make generic
+ DUMP_ASK(ask);
BUG_ON(index != 0);
BUG_ON(ask->hash.init == 0);
@@ -319,6 +329,7 @@ static int do_data_recvmsg(struct kiocb *iocb, struct alg_sock *ask,
// FIXME: locking
// FIXME: make generic
+ DUMP_ASK(ask);
BUG_ON(index != 0);
BUG_ON(ask->hash.init == 0);
@@ -337,6 +348,7 @@ static int do_data_recvmsg(struct kiocb *iocb, struct alg_sock *ask,
res = cryptodev_hash_reset(&ask->hash);
if (res != 0)
return res;
+ DUMP_ASK(ask);
return ask->hash.digestsize;
}
@@ -385,6 +397,7 @@ static void alg_destruct(struct sock *sk)
struct alg_sock *ask;
ask = alg_sk(sk);
+ DUMP_ASK(ask);
if (ask->hash.init != 0)
cryptodev_hash_deinit(&ask->hash);
@@ -392,6 +405,7 @@ static void alg_destruct(struct sock *sk)
local_bh_disable();
sock_prot_inuse_add(sock_net(sk), &alg_proto, -1);
local_bh_enable();
+ DUMP_ASK(ask);
}
static int alg_release(struct socket *sock)
@@ -407,6 +421,7 @@ static int alg_release(struct socket *sock)
sock->sk = NULL;
ask = alg_sk(sk);
+ DUMP_ASK(ask);
// skb_queue_purge(&sk->sk_write_queue);???
@@ -422,7 +437,9 @@ static int alg_release(struct socket *sock)
DUMP_DSK(dsk);
}
+ DUMP_ASK(ask);
sock_put(sk);
+ DUMP_ASK(ask);
return 0;
}
@@ -441,6 +458,7 @@ static int alg_bind(struct socket *sock, struct sockaddr *myaddr,
return -EINVAL;
ask = alg_sk(sock->sk);
+ DUMP_ASK(ask);
// FIXME: locking
@@ -457,6 +475,7 @@ static int alg_bind(struct socket *sock, struct sockaddr *myaddr,
return res;
ask->addr = *addr;
+ DUMP_ASK(ask);
return 0;
}
@@ -467,6 +486,7 @@ static int alg_accept(struct socket *sock, struct socket *newsock, int flags)
// FIXME: locking
ask = alg_sk(sock->sk);
+ DUMP_ASK(ask);
if (ask->accept_idx >= ask->num_slaves)
return -EINVAL;
@@ -474,9 +494,11 @@ static int alg_accept(struct socket *sock, struct socket *newsock, int flags)
ask->accept_idx++;
DUMP_DSK(dsk);
+ DUMP_ASK(ask);
sock_hold(&ask->sk);
DUMP_DSK(dsk);
dsk->master = ask;
+ DUMP_ASK(ask);
sock_hold(&dsk->sk);
DUMP_DSK(dsk);
@@ -495,6 +517,7 @@ static int alg_listen(struct socket *sock, int len)
// FIXME: locking
net = sock_net(sock->sk);
ask = alg_sk(sock->sk);
+ DUMP_ASK(ask);
if (ask->num_slaves != 0)
return -EINVAL;
@@ -527,6 +550,7 @@ static int alg_listen(struct socket *sock, int len)
}
ask->num_slaves = len;
+ DUMP_ASK(ask);
return 0;
@@ -542,6 +566,7 @@ err_partial:
sock_put(&dsk->sk);
DUMP_DSK(dsk);
}
+ DUMP_ASK(ask);
return -ENOMEM;
}
@@ -551,6 +576,7 @@ static int alg_sendmsg(struct kiocb *iocb, struct socket *sock,
struct alg_sock *ask;
ask = alg_sk(sock->sk);
+ DUMP_ASK(ask);
// FIXME: locking
if (ask->addr.salg_type[0] == 0)
@@ -566,6 +592,7 @@ static int alg_recvmsg(struct kiocb *iocb, struct socket *sock,
// FIXME: locking
ask = alg_sk(sock->sk);
+ DUMP_ASK(ask);
// FIXME: locking
if (ask->addr.salg_type[0] == 0)